我正在编写一个带有一些 DropDownList 控件的 ASP.Net 网络表单。然后用户更改下拉列表之一中的选定项目,ASP.Net 似乎没有处理 SelectedIndexChanged 事件,直到通过单击“提交”按钮提交表单。如何让我的下拉列表立即处理 SelectedIndexChanged?
PS 这是一个经典问题,我已经回答了太多次了,但似乎没有人在 stackoverflow 上问过这个问题。
我正在编写一个带有一些 DropDownList 控件的 ASP.Net 网络表单。然后用户更改下拉列表之一中的选定项目,ASP.Net 似乎没有处理 SelectedIndexChanged 事件,直到通过单击“提交”按钮提交表单。如何让我的下拉列表立即处理 SelectedIndexChanged?
PS 这是一个经典问题,我已经回答了太多次了,但似乎没有人在 stackoverflow 上问过这个问题。
将AutoPostback属性设置为 true 将导致它在选择更改时回发。请注意,这需要启用 javascript。
您需要将AutoPostBack
列表的属性设置为 true。
此外,如果您要从后面的代码中填充下拉列表的内容(例如,从数据库中获取列表的内容),请确保您没有在每次回发中重新绑定数据。
有时人们会因为在页面加载事件中绑定下拉菜单而不将其放入If Not IsPostBack
. 这将导致事件不触发。
ItemCommand
中继器和事件也是如此。
如果您在页面加载期间填充下拉列表,那么每次页面回发时它都会重新加载列表,从而否定您的回发方法。您需要确保仅在 (!ispostback) 时加载下拉列表
将 DropDownList 的 AutoPostBack 属性设置为 true。