使用javascript填充服务器DropDown

时间:2013-11-14 12:18:21

标签: c# javascript asp.net

是否可以通过javascript添加下拉项,然后在服务器端获取它?

我有

<asp:DropDownList ID="testDropDown" CssClass="listClass" runat="server"/>
<asp:Button ID="saveButton" runat="server" Text="Добавить" OnClick="saveButtonClick" />

页面加载javascript后添加要下拉的项目

$('.listClass').append("<option value='value1'>Text1</option>");

但是在saveButton之后点击我在服务器上有空的下拉列表

2 个答案:

答案 0 :(得分:0)

客户端发生的任何动态更改都不会在服务器端自动复制。

您需要以某种方式记录操作发生的事实(例如使用<asp:HiddenField>控件)...然后在回发后检查操作是否发生并复制发生的值在客户端。

另外,要小心,因为ASP.NET可能会抛出异常,因为控件返回的值是ASP.NET首先没有填充控件。要解决此问题,请在EnableEventValidation="false"声明中设置<@Page>,或使用Page.ClientScript.RegisterForEventValidation

添加所有可能的值

答案 1 :(得分:0)

您无法在ASP.NET中执行此操作,因为这些值是使用服务器端的ViewState构建的。

检查一下。它可能对您有所帮助:Options added to <select> by javascript lost in postback