首页 新闻 会员 周边

UserCOntrol的Page_Load事件问题

0
悬赏园豆:20 [已关闭问题] 关闭于 2009-03-31 08:57

有页面a.aspx
a.aspx里面包含有div隐藏层 style.display = "none";
div 里面包含一个ascx用户控件
a.aspx页面加载时b.ascx里面的Page_Load也加载了。
当div style.display=""显示时,
有什么办法重新执行b.ascx.cs里面的Page_Load事件??

kuhaner的主页 kuhaner | 初学一级 | 园豆:190
提问于:2009-03-23 17:25
< >
分享
所有回答(3)
0

不是很清楚你的表述,不过如果是要重新执行Page_load事件,有一个折中的办法。你定义一个public方法,把page_load方法里执行的流程放到这个public方法里再执行一次,这样在这个自定义控件所在的apsx.cs里,就可以通过控件名称.public方法,来执行。

李.net | 园豆:730 (小虾三级) | 2009-03-23 17:44
0

虽然你隐藏了div ,但是本质上,控件已经初始化了,信息已经完成了。隐藏与否只是样式不同而已。

在用户控件中加一个方法。update()..在方法体中加载你page_load中的逻辑处理.在隐藏显示时候,调用a.update(),就ok了。

邢少 | 园豆:10926 (专家六级) | 2009-03-23 19:04
0

把你ascx里面的Page_Load里要执行的流程写在一个单独的方法,Page_Load里只需要写一句调用这个方法的语句即可,如果需要再次执行只需要再写一个方法调用Page_Load里执行的方法

//TODO

protected void Page_Load(object sender, EventArgs e)
{

  A();

} 

 

public void A()

{

   //page_load中需要执行的流程

} 

 

Protected void  B()

{

  //需要再次执行Page_Loade的时候在这里执行调用A方法就可以了~

  A();

}

静夜品茗 | 园豆:155 (初学一级) | 2009-03-24 00:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册