2013-04-29 60 views
0

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

代码下面添加选项和选择:

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

右,JavaScript警告显示所选择正确的选项(ALL,索引0)。但是,当从代码后面检索所选文本和DdlProductType索引时,会选择另一个项目。我猜这与viewstate没有更新有关。

谢谢。

+0

认为您需要在初始加载时在代码中添加ALL选项。 – cgatian 2013-04-29 03:18:05

+0

ALL位于初始加载列表中。我只是动态地添加/删除所有取决于某些条件。 – rro 2013-04-29 03:53:40

+1

您需要从服务器端执行此操作。 [看看这里](http://stackoverflow.com/questions/228969/invalid-postback-or-callback-argument-event-validation-is-enabled-using-page) – mshsayem 2013-04-29 03:59:50

回答

0

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

相关问题