我的 ASP.NET 页面中有一个 HTML select
控件,我将其设置为 runat = "server"
现在我尝试将一些列表项添加到它是动态的。类似下面的代码
var list = document.getElementById('<%=list1.ClientID%>');
var newListItem = document.createElement('OPTION');
newListItem.text = "Emp1";
newListItem.value = "e101";
list.add(newListItem);
<asp:Panel ID="pnlemp" runat="server"
Style="display: none;"
CssClass="modalPopup"
width="700px" Height="350px">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<select id="list1" multiple="true" name="list1" runat="server">
</select>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
现在,当我尝试从我的代码(如 list1.Items.Count
)访问它时,它显示 0
。
这有什么问题吗?
最佳答案
当您在客户端脚本中修改 html 时, View 状态(跟踪所有控件)不会更新。这导致当您进行回发时,新项目不“存在”。
有时有一个 __doPostBack() javascript 强制回发,但我不确定它是否有效。
关于c# - HTML 选择项目在 asp.net 中计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9205702/