ASP.Net的AutoPostBack属性
平时很少拖服务器控件,今天偶然用到了DropDownList,但是它的SelectedIndexChanged事件不能被触发,找了半天才发现竟然是autopostback的原因。。。
目录:[TOC]
AutoPostBack属性值
Asp.Net控件的AutoPostBack的属性值为True和False,True表示与服务器交互,False表示不与服务器交互。
DropDownList.AutoPostBack 属性
当使用服务器控件dropdownlist时,如果要用的它的SelectedIndexChanged事件,那么必须把该属性设为true。否则SelectedIndexChanged事件是不会触发的,因为AutoPostBack 为false时,该控件是不会与后端服务器交互的。当把AutoPostBack 设为true时,如果DropDownList中的选择项发生改变,那么就会触发页面的回发,自然SelectedIndexChanged事件就生效了。
TextBox.AutoPostBack 属性
当TextBox设置AutoPostBack =True时,在控件中按 Enter 或 Tab 键时,都会发生自动回发到服务器的操作。
Button按钮
Button控件没有AutoPostBack属性,但是Click的事件会自动执行回发操作。
小问题
当在一个asp页面中实现2个dropdownlist联动时,dropdownlist1的加载数据事件一定要写在if(!IsPostBack){}中。
因为dropdownlist1在触发SelectedIndexChanged时会向服务器回发数据,这个时候Page_Load事件会再次触发,会造成dropdownlist1数据的重复绑定,联动操作会失败。