第一次改变选项能够出发onSelectedIndexChanged事件,但是以后再改变选项就没有反映了!
此外触发onSelectedIndexChanged事件后,总是调用Page_Load,如何停止调用它?
12 个解决方案
#1
are you binding your dropdownlist in
if (!IsPostBack)
{
}
>>>总是调用Page_Load,如何停止调用它?
that is how ASP.NET works, no way to stop it, move the code outside Page_Load
if (!IsPostBack)
{
}
>>>总是调用Page_Load,如何停止调用它?
that is how ASP.NET works, no way to stop it, move the code outside Page_Load
#2
if(!IsPostBack)
{
只想第一次调用的放在这
}
第一次改变选项能够出发onSelectedIndexChanged事件,但是以后再改变选项就没有反映了!
是不是因为你的dropdownlist绑定事件是写在Page_Load()里面?
#3
AutoPostBack="false" 就不会触发Page_Load了。
另外不要用
if(!IsPostBack)
{
}
另外不要用
if(!IsPostBack)
{
}
#4
还是没有解决我的问题!
第一次改变选项能够触发onSelectedIndexChanged,但以后就不成了!调用完Page_Load就不再调用onSelectedIndexChanged
dropdownlist不是在PageLoad中绑定的!
第一次改变选项能够触发onSelectedIndexChanged,但以后就不成了!调用完Page_Load就不再调用onSelectedIndexChanged
dropdownlist不是在PageLoad中绑定的!
#5
帮你顶!!!!!!!!!!
愿你成功!!!!!!!
愿你成功!!!!!!!
#6
建议在asp.net中直接调用dropdownlist的onSelectedIndexChanged事件,然后将c#中的private void 改为 public void 试一试。
#7
楼上的方法也不好用!
#8
在page_load中调用你的函数就行,,
#9
楼上的方法还是没有根本解决阿!
#10
?
#11
看看WROX的asp.net入门经典就第七章就知道原因了。你的具体原因,楼上的说的都有道理,具体问题要看你的绑定代码,及涉及到的其他代码。
这也是我刚遇到的问题,放到init中就可以了(不建议)。
这也是我刚遇到的问题,放到init中就可以了(不建议)。
#12
贴主:
你要明白一个道理,就是asp:dropdownlist控件的AutoPostBack="true"属性确实可以触发表单提交。但是在后台代码里面的private void Page_Load()是只要发生表单提交就会执行里面的代码。
而AutoPostBack属性设置为true后确实可以触发nSelectedIndexChanged事件的发生,但是这个事件的触发是在执行完Page_Load后才执行。
所以Asp.Net提供了IsPostBack属性来确认这个动作是客户第一次执行还是表单提交回发.
所以我们通常用这个属性来控制哪些代码每次提交都要执行,还是仅仅第一次请求时执行一个例子
private void Page_Load(object sender,EventArgs e)
{
// 每次提交都执行的代码
if(!Page.IsPostBack)
}
// 页面第一次请求时候执行代码
}
if(Page.IsPostBack)
{
// 第一次请求不执行,表单提交执行代码
}
}
还有就是你问题提的不清楚,大家都是靠猜测,你应该把你出错代码或者希望代码执行的顺序说出来,应该有人可以帮助你的.
你要明白一个道理,就是asp:dropdownlist控件的AutoPostBack="true"属性确实可以触发表单提交。但是在后台代码里面的private void Page_Load()是只要发生表单提交就会执行里面的代码。
而AutoPostBack属性设置为true后确实可以触发nSelectedIndexChanged事件的发生,但是这个事件的触发是在执行完Page_Load后才执行。
所以Asp.Net提供了IsPostBack属性来确认这个动作是客户第一次执行还是表单提交回发.
所以我们通常用这个属性来控制哪些代码每次提交都要执行,还是仅仅第一次请求时执行一个例子
private void Page_Load(object sender,EventArgs e)
{
// 每次提交都执行的代码
if(!Page.IsPostBack)
}
// 页面第一次请求时候执行代码
}
if(Page.IsPostBack)
{
// 第一次请求不执行,表单提交执行代码
}
}
还有就是你问题提的不清楚,大家都是靠猜测,你应该把你出错代码或者希望代码执行的顺序说出来,应该有人可以帮助你的.
#1
are you binding your dropdownlist in
if (!IsPostBack)
{
}
>>>总是调用Page_Load,如何停止调用它?
that is how ASP.NET works, no way to stop it, move the code outside Page_Load
if (!IsPostBack)
{
}
>>>总是调用Page_Load,如何停止调用它?
that is how ASP.NET works, no way to stop it, move the code outside Page_Load
#2
if(!IsPostBack)
{
只想第一次调用的放在这
}
第一次改变选项能够出发onSelectedIndexChanged事件,但是以后再改变选项就没有反映了!
是不是因为你的dropdownlist绑定事件是写在Page_Load()里面?
#3
AutoPostBack="false" 就不会触发Page_Load了。
另外不要用
if(!IsPostBack)
{
}
另外不要用
if(!IsPostBack)
{
}
#4
还是没有解决我的问题!
第一次改变选项能够触发onSelectedIndexChanged,但以后就不成了!调用完Page_Load就不再调用onSelectedIndexChanged
dropdownlist不是在PageLoad中绑定的!
第一次改变选项能够触发onSelectedIndexChanged,但以后就不成了!调用完Page_Load就不再调用onSelectedIndexChanged
dropdownlist不是在PageLoad中绑定的!
#5
帮你顶!!!!!!!!!!
愿你成功!!!!!!!
愿你成功!!!!!!!
#6
建议在asp.net中直接调用dropdownlist的onSelectedIndexChanged事件,然后将c#中的private void 改为 public void 试一试。
#7
楼上的方法也不好用!
#8
在page_load中调用你的函数就行,,
#9
楼上的方法还是没有根本解决阿!
#10
?
#11
看看WROX的asp.net入门经典就第七章就知道原因了。你的具体原因,楼上的说的都有道理,具体问题要看你的绑定代码,及涉及到的其他代码。
这也是我刚遇到的问题,放到init中就可以了(不建议)。
这也是我刚遇到的问题,放到init中就可以了(不建议)。
#12
贴主:
你要明白一个道理,就是asp:dropdownlist控件的AutoPostBack="true"属性确实可以触发表单提交。但是在后台代码里面的private void Page_Load()是只要发生表单提交就会执行里面的代码。
而AutoPostBack属性设置为true后确实可以触发nSelectedIndexChanged事件的发生,但是这个事件的触发是在执行完Page_Load后才执行。
所以Asp.Net提供了IsPostBack属性来确认这个动作是客户第一次执行还是表单提交回发.
所以我们通常用这个属性来控制哪些代码每次提交都要执行,还是仅仅第一次请求时执行一个例子
private void Page_Load(object sender,EventArgs e)
{
// 每次提交都执行的代码
if(!Page.IsPostBack)
}
// 页面第一次请求时候执行代码
}
if(Page.IsPostBack)
{
// 第一次请求不执行,表单提交执行代码
}
}
还有就是你问题提的不清楚,大家都是靠猜测,你应该把你出错代码或者希望代码执行的顺序说出来,应该有人可以帮助你的.
你要明白一个道理,就是asp:dropdownlist控件的AutoPostBack="true"属性确实可以触发表单提交。但是在后台代码里面的private void Page_Load()是只要发生表单提交就会执行里面的代码。
而AutoPostBack属性设置为true后确实可以触发nSelectedIndexChanged事件的发生,但是这个事件的触发是在执行完Page_Load后才执行。
所以Asp.Net提供了IsPostBack属性来确认这个动作是客户第一次执行还是表单提交回发.
所以我们通常用这个属性来控制哪些代码每次提交都要执行,还是仅仅第一次请求时执行一个例子
private void Page_Load(object sender,EventArgs e)
{
// 每次提交都执行的代码
if(!Page.IsPostBack)
}
// 页面第一次请求时候执行代码
}
if(Page.IsPostBack)
{
// 第一次请求不执行,表单提交执行代码
}
}
还有就是你问题提的不清楚,大家都是靠猜测,你应该把你出错代码或者希望代码执行的顺序说出来,应该有人可以帮助你的.