在ASP.net中有一个后Page_Load事件
是否有在所有Page_Load事件完成后触发的事件?
在我的页面可以呈现之前,我需要我的页面(和所有嵌入式控件)通过完成其Page_Load事件来自行初始化。 问题,当然是,如果我把代码放在我的页面的Page_Load处理程序: MyPage.aspx --> Page_Load ---> DoSomethingWithUserControl() UserControl1.ascx --> Page_Load ---> initialize ourselves now that viewstate has been restored 然后我开始访问我的UserControl1控件,准备好之前。 我需要一种方法来在所有的Page_Load事件触发后,但在任何回发事件(例如点击事件)触发之前运行代码: MyPage.aspx --> Page_Load UserControl1.ascx --> Page_Load ---> initialize ourselves now that viewstate has been restored MyPage.aspx --> Page_AfterLoad ---> DoSomethingWithUserControl() 查看MSDN中的页面生命周期,看起来没有办法在所有Page_Loads完成后引发事件: 有没有办法提出一个后,所有的Page_Loads已经完成? 解决方法Page_LoadComplete 是在加载所有控件之后引发的事件
请记住,Init事件首先由所有子控件触发,并且只是当所有控件都已初始化时,页面的Init事件被引发。 Load事件反过来工作,页面首先引发Load事件,然后每个子控件引发它自己的Load事件。最后LoadComplete被引发。注意,只有当控件是在设计时创建的,当控件被动态创建时,他们(不幸的是)不严格遵循这种方法,这才是真的。 从MSDN:
看一看: (来源:http://msdn.microsoft.com/en-us/library/ms178472.aspx) 编辑1 为了满足您的所有要求:
我认为最简单的方法是在用户控件中声明一个自定义事件,并在加载控件后触发它,然后jus在ASPX中订阅该事件 用户控制 public event Action LoadCompleted = delegate { }; protected void Page_Load(object sender,EventArgs e) { this.LoadCompleted(); } ASPX页面 protected void Page_Load(object sender,EventArgs e) { this.myUserControl.LoadCompleted += () => { // do somethign interesting this.lblMessage.Text = DateTime.Now.ToString(); }; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 当ASP.NET 5(vNext)无法重定向绑定时,我该怎
- asp.net – HttpContext.Current.User.Identity.Name为null
- asp.net-mvc – 需要帮助来应用SOLID原则
- 巢内生育咨询电话多少
- asp.net – 在Windows Azure上的HTTP处理程序中是否需要Thr
- 多线程异步编程示例和实践-Task
- asp.net-mvc – 使用MVC的Unity 2.0 Web.config设置
- asp.net-mvc – 如何asp.net(mvc)服务器返回错误jquery aja
- MVC学习二:基础语法
- asp.net core react 项目实战(一)
- asp.net – 创建一个工作线程,并在整个应用程序生
- asp.net – 在web.config上有哪些官方的,广泛的,
- asp.net-mvc-4 – ASP.NET MVC RemoteAttribute验
- asp.net-mvc – IoC Castle Windsor – 没有为此
- ASP.NET Ajax库死了吗?
- Asp.NET Core+ABP框架+IdentityServer4+MySQL+Ex
- asp.net – 拥有专用应用程序池,将Web应用程序保
- ASP.NET Core Change Build目录
- asp.net-mvc-4 – 在MVC4环境中使用Razor和Angul
- asp.net – 通过GET访问Mvc Web API复杂对象查询