DropDownList 和 ListBox 分别表示下拉列表框和列表框,它们都具有 OnSelectedIndexChanged 事件,默认情况下为该事件添加函数后,并没有立即触发该函数,怎么回事?
应该将属性 AutoPostBack 设置为 true,比如:
以下内容可以很好地帮助您理解 OnSelectedIndexChanged 和 AutoPostBack:
非回发事件
某些服务器控件支持非回发事件。此类事件会更改控件的状态,但并不要求立即进行处理。这些事件由控件缓存,而不是立即传递到服务器以进行处理。例如,ListBox 控件可能包含很多元素。如果用户选择一个不同的元素,那么控件将在不通知服务器的情况下显示适当的更改并记住其新状态。在张贴包含 ListBox 的窗体之后,ListBox 控件将提交事件(选定的项)。
非回发事件的默认行为可以通过设置 AutoPostBack 属性进行更改。如果 AutoPostBack 设置为 true,那么通常由客户端缓存的事件发送信号通知服务器立即进行处理。启用 AutoPostBack 的控件要求客户机允许运行脚本。
网友评论