我刚接触asp.net 今天在弄到关于listbox控件时突然发现,我在listbox的selctIndexChanged事件中调用一个方法,但是奇怪的是,当我点击listbox中的选项时事件没有作用,反倒是点击其他按钮的时候它起作用了!很是郁闷……然后输出它的选项的索引都为-1,我又发现,为什么是-1,因为我点击了按钮后,页面又重新加载了,所以索引永远都是-1,请教各位大虾,如何解决这个问题?
也不仅仅是这个问题,在好多的控件中它的一些事件好像有的也是这样,但有的不是,请问为什么会这样?谢谢各位大虾了……
也不仅仅是这个问题,在好多的控件中它的一些事件好像有的也是这样,但有的不是,请问为什么会这样?谢谢各位大虾了……
你把绑定Listbox的方法放在
if (!IsPostBack)
{
//绑定方法
}
应该就可以了。
{
//绑定方法
} 接触asp.net初容易范的错误.
加上上面的方法.在你的页面加载事件里,把你listbox初始化绑定数据的代码放在此方法里.
因为你没这样写,会重新绑定listbox控件,所以你选的状态就没了第一个问题是因为你没把listbox的AutoPostBack设置为True,所以不会激发后台的indexchanged事件
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//要绑定的方法
} }
至于里面的绑定方法不执行了.是因为写在此方法里的只会在页面第一次加载时执行.之后就不会执行了.
至于是否还要调用绑定的方法,可根据你的需求,IsPostBack里的代码写成方法,方便之外调用.