高分求解 手动加载控件的IsPostBack的问题

unm 2003-08-20 08:16:51
用户控件A : 一个DataList
用户控件B : 一个CheckBoxList,一个Button

在控件A的DataListA_ItemDataBound的事件中,动态加载控件B.

在控件A的Page_Load中DataListA.DataBind();每次都必须DataBind,否则DataListA_ItemDataBound的事件不会触发,就不会加载控件B,就不会响应控件B的Button事件(是否是这样现在还在郁闷中,应为上午可以但下午又不行了,基本上过程是一样的)

在控件B的Page_Load中
if(!this.IsPostBack)
{
DataListA.DataBind();
}
第一次Load时有数据
但是现在在控件B的Button的OnClick事件中,取得CheckBoxList中没有数据,其实数据源是有数据的,即CheckBoxListB.Items是空的

具体原因在哪里?请教
好的解决方法有没有?
...全文
84 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
unm 2003-08-20
  • 打赏
  • 举报
回复
sorry!

在控件B的Page_Load中
if(!this.IsPostBack)
{
CheckBoxList.DataBind();
}

且CheckBoxList的数据源是人为随机排序的,如果我重新DataBind,那么取得数据的时候就已经不是原来选定的那一项了
AllRegistered 2003-08-20
  • 打赏
  • 举报
回复
在控件B的Page_Load中
if(!this.IsPostBack)
{
DataListA.DataBind();
}
刚才没看清,这一点有点奇怪,DataListA.DataBind()应该写在控件A的Page_Load里,你不是说A是B的容器吗?
AllRegistered 2003-08-20
  • 打赏
  • 举报
回复
你在控件B的Button的OnClick事件中每次都邦定CheckBoxList的数据了吗?

我想这问题就需要每次邦定,因为你动态加载控件B后A就变化了,所以得重新DataBind一次,还有对控件B也是一样,如果你要显示的CheckBoxList的内容是一样的,可以暂时把它设为不可见,然后在B的Button的OnClick事件中使它可见;如果你要显示的CheckBoxList的内容不一样,就需要在B的Button的OnClick事件中邦定CheckBoxList的数据
ufinger 2003-08-20
  • 打赏
  • 举报
回复
主页面的page_load执行完后执行A的Page_load(如果A注册先于B),再执行B的Page_load

没看明白你的意图

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧