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中(以及任何需要触发对列表的更改(如果适用)),以便在那里是不是一个完整的页面回发只是为了更改项目。这将意味着编写服务器端代码来更改列表中的项目。

相关问题