2008-09-16 60 views
8

我正在写一个ASP.Net webform与它的一些DropDownList控件。然后用户更改其中一个下拉列表中的选定项目,ASP.Net似乎无法处理SelectedIndexChanged事件,直到通过单击“提交”按钮提交表单。 如何让我的下拉菜单立即处理SelectedIndexChanged?DropDownList不回发SelectedIndexChanged

P.S.这是我经常回答太多的经典问题,但似乎没有人在stackoverflow上提出过这个问题。

回答

23

AutoPostback属性设置为true会导致选择更改时回发。请注意,这需要启用javascript。

+1

只需要注意,必须为控件启用viewstate。 – LosManos 2015-07-30 22:49:22

3

将DropDownList的AutoPostBack属性设置为true。

10

您需要将列表的AutoPostBack属性设置为true。另外,如果您从后面的代码中填充下拉列表的内容(例如从数据库中获取列表的内容),请确保您没有重新绑定每个数据中的数据回发。

有时候,人们会通过绑定页面加载事件中的下拉菜单而不把它放在If Not IsPostBack中。这将导致事件不会触发。

中继器和ItemCommand事件也是如此。

4

如果您在页面加载期间填充下拉列表,则每次页面回发时它都会重新加载列表,从而否定您的回发方法。 只有当(!ispostback)

+0

这应该是答案,因为懒惰地设置AutoPostBack =“true”并不总是有效,因为它也可能影响其他控件。整个页面被重新发布! – Fandango68 2015-06-25 03:53:12

相关问题