我在asp.net下拉列表中添加了一个新选项,我选择了这个选项。当页面回发时,通过JQuery添加和选择的选项不会从后面的代码中反映出来。可能是什么问题。
下面的代码添加选项并选择:
$("#DdlProductType").prepend($('<option>', { value: 'ALL', text: 'All' }));
$("#DdlProductType").prop('selectedIndex', 0);
在回发之前,javascript警报显示选择了正确的选项(ALL,索引0)。但是,当从后面的代码中检索所选文本和DdlProductType的索引时,将选择另一个项目。我猜这与viewstate没有更新有关。
感谢。
答案 0 :(得分:0)
你是对的,asp.net inbuild控件使用viewstate来自我序列化并填充在代码隐藏文件中。客户端上添加的任何项目都不会更新视图状态,因此,您没有在服务器端获得该值。其中一种方法是使用Updatepanel并在服务器端添加下拉列表的值。其中一种可能的方法(我还没有完全测试)是使用正常的下拉列表,运行服务器为真。