2012-02-01 80 views
0

我有一個複選框列表像如何清除所有項目,並在asp.net的CheckBoxList使用JavaScript

<asp:CheckBoxList id="CheckBoxList1" runat="server" > 
<asp:listitem Value="1">Item 1</asp:listitem> 
    <asp:listitem Value="2">Item 2</asp:listitem> 
</asp:CheckBoxList>`. 

我需要清除所有的項目,如項目1和項目2從CheckBoxList的添加新項並使用javascript在複選框列表中添加諸如「Item 3」之類的新值。任何人都可以現在解決這個問題?

謝謝...

+0

只是好奇,因爲這是.NET爲什麼你需要Java腳本..? – MethodMan 2012-02-01 15:37:14

+0

您可以使用JS將它更改爲Item 3,但是如果您在客戶端使用JS進行更改,如何在服務器端使用它?你最終會遇到一個糟糕的網絡應用程序..對吧? – Flowerking 2012-02-01 15:38:21

+0

你不能這樣做使用JavaScript。試用Ajax工具包控件。 – adatapost 2012-02-01 15:39:33

回答

1

只是爲了記錄:<asp:CheckBoxList ...>是一個服務器端控件。如果您使用Javascript(客戶端)刪除項目並添加一個新項目,然後在服務器上進行回發,您將失去在客戶端完成的所有工作。

我的建議是:做一個回發到服務器,並使用CheckBoxList服務器端標準事件處理項目的刪除和添加操作。它會更簡單!

+0

好吧。你能告訴我如何在JavaScript中添加cxheckboxlist項目? – Kathirvel 2012-02-01 15:44:17

+0

您還想使用JavaScript將項目添加到CheckBoxList?你不是指如何使用服務器端事件添加項目嗎? – 2012-02-01 15:46:57

1

刪除不是問題,但如果您添加新值然後執行回發,您將開始從ASP.NET獲取錯誤。如果它看到從靜態資源(下拉列表,複選框列表,單選按鈕列表等)發回的信息不是提供的選項之一,那麼它會假設某些惡意用戶試圖濫用該應用程序,並且它嚇壞了(打破了頁面)。

如果您不想執行整個頁面回發來執行此更改,那麼您可以將複選框列表包裝在UpdatePanel中(以及任何需要觸發對列表的更改(如果適用)),以便在那裏是不是一個完整的頁面回發只是爲了更改項目。這將意味着編寫服務器端代碼來更改列表中的項目。

相關問題