是否可以通过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之后点击我在服务器上有空的下拉列表
答案 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