0

我正在向 asp.net 下拉列表中添加一个新选项,并且我正在选择此选项。回发页面时,通过 JQuery 添加和选择的选项不会从后面的代码中反映出来。可能是什么问题。

下面的代码添加选项并选择:

$("#DdlProductType").prepend($('<option>', { value: 'ALL', text: 'All' }));
$("#DdlProductType").prop('selectedIndex', 0);                

就在回发之前,javascript 警报显示选择了正确的选项(全部,索引 0)。但是,当从后面的代码中检索 DdlProductType 的选定文本和索引时,会选择另一个项目。我猜这与未更新的视图状态有关。

谢谢。

4

1 回答 1

0

你是对的,asp.net inbuild 控件使用视图状态自行反序列化并填充回代码隐藏文件中。因此,在客户端添加的任何项目都不会更新视图状态,您不会在服务器端获得该值。这样做的一种方法是使用 Updatepanel 并在服务器端添加下拉列表的值。一种可能的方法(我还没有完全测试)是使用在服务器上运行的正常下拉列表。

于 2013-04-29T05:18:25.430 回答