PreRender事件未触发。

5

最近我注意到,Page_PreRender事件没有被触发。如果使用protected override void OnPreRender则一切正常。自动绑定已启用,在另一台机器上相同的代码表现良好...

我应该从哪里着手?


2
你能发布一些Page_PreRender方法和页面指令的代码吗? - Jeff Widmer
一个好的起点问题。我应该从哪里挖掘? - Alberto De Caro
哇,那已经是很久以前的事了。你现在甚至不应该再费心使用WebForms了。最好学习ASP MVC框架。 - Vasili Sviridov
谢谢您的建议,但我们公司有一个基于ASP.NET页面和用户控件的网站。 - Alberto De Caro
我猜你有点卡住了:( 祝你好运。 - Vasili Sviridov
显示剩余3条评论
3个回答

13

有几个原因可能导致它无法触发:

  • 可见属性被设置为false
  • Response.End()

1
可见属性是我的问题...不是非常直观的事情。 - Chris B. Behrens
这里有红十字会来挖掘! - Alberto De Caro

7

这是应该被重写和使用的事件。

protected override void OnPreRender(EventArgs e)
{
    base.OnPreRender(e);
}

1

我发现了这个问题,似乎你可以在Web.Config和Machine.Config中设置AutoEventWireup。 http://support.microsoft.com/kb/324151

所以也许那台服务器上的machine.config有一些问题。

值得一看。

<configuration>    
<system.web>
<pages autoEventWireup="true|false" />
</system.web>
</configuration>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接