2010-04-05 110 views
0

如何以编程方式重新启动页面生命周期?我在影响这些控件的控件事件中做了一些事情。查看我必须再次绘制页面的更改。我该怎么做?关于asp.net生命周期的问题

+4

重新启动页面的唯一途径生命周期将是做一个Response.Redirect回到页面。当然,你会失去你所做的任何改变,所以这是一个毫无意义的答案。但是,您不必重新启动页面生命周期来影响控件的外观...例如,您可以更改按钮的Click事件中的标签文本,以便您可以随时随地更改控件。你究竟想要改变什么? – David 2010-04-05 13:34:18

+0

我用另一个表填充表中的字段。 – Varyanica 2010-04-05 13:38:45

+0

我想你必须找到正确的“时间点”来填充你的* one *表格中来自其他表格*的值。为此,您需要了解ASP.NET的页面生命周期(例如,通过阅读Microsoft的说明:http://msdn.microsoft.com/en-us/library/ms178472.aspx - > ASP.NET Page Life周期概述)。并且请注意,非职位反对职位的生命周期略有不同。一般来说,我认为你可能想在PreRender中做到这一点。 – scherand 2010-04-05 14:39:37

回答

1

在渲染阶段,页面将在页面生命周期结束附近“重新绘制”。请记住,在发生这种情况之后,您的页面的这个实例将被销毁。这是网络的性质。当用户在浏览器中触发回发时,页面生命周期将重新开始。此时,将创建一个全新的页面类实例。这个新实例与以前的实例非常相似,但它仍然是该类的完全不同的实例。这就是ASP.Net的工作原理。

0

你可以做这样的事情:

Response.Redirect(HttpContext.Current.Request.Url.AbsolutePath); 

,但你可能会失去你的图纸,如果你不某处将它保存在服务器或客户端(如饼干)