12

我正在编写一个带有一些 DropDownList 控件的 ASP.Net 网络表单。然后用户更改下拉列表之一中的选定项目,ASP.Net 似乎没有处理 SelectedIndexChanged 事件,直到通过单击“提交”按钮提交表单。如何让我的下拉列表立即处理 SelectedIndexChanged?

PS 这是一个经典问题,我已经回答了太多次了,但似乎没有人在 stackoverflow 上问过这个问题。

4

4 回答 4

25

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

于 2008-09-16T07:40:51.880 回答
11

您需要将AutoPostBack列表的属性设置为 true。

此外,如果您要从后面的代码中填充下拉列表的内容(例如,从数据库中获取列表的内容),请确保您没有在每次回发中重新绑定数据。

有时人们会因为在页面加载事件中绑定下拉菜单而不将其放入If Not IsPostBack. 这将导致事件不触发。

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

于 2008-09-16T07:46:00.870 回答
4

如果您在页面加载期间填充下拉列表,那么每次页面回发时它都会重新加载列表,从而否定您的回发方法。您需要确保仅在 (!ispostback) 时加载下拉列表

于 2011-10-05T21:30:25.707 回答
3

将 DropDownList 的 AutoPostBack 属性设置为 true。

于 2008-09-16T07:41:30.473 回答