【问题标题】:PreRender event is not firedPreRender 事件未触发
【发布时间】:2009-08-01 04:04:12
【问题描述】:

最近我注意到,Page_PreRender 事件没有被触发。如果使用protected override void OnPreRender - 一切都很好。 AutoWire 已启用,并且相同的代码在另一台机器上运行良好...

我应该在哪里挖?

【问题讨论】:

  • 听起来您回答了自己的问题。不能使用protected override void OnPreRender 语法吗?
  • 你的意思是没有被解雇还是你的处理程序没有处理它?
  • 你能发布一些 Page_PreRender 方法的代码和页面指令吗?
  • Matthew Jones:问题在于它曾经在一台隔离的服务器上工作并停止。在其他机器上仍然可以正常工作 Adrian Godong:基本上,如果我在方法中设置断点,它永远不会在那里中断 Jeff Widmer:那里一切都很好,因为完全相同的页面可以在不同的服务器上工作。基本上,有谁知道阻止 AutoEventWireup 工作的全局服务器设置?
  • 一个很好的开始。我应该在哪里挖?

标签: asp.net events autowired


【解决方案1】:

有几件事会导致它无法触发

  • Visible 属性设置为 false
  • Response.End()

【讨论】:

  • 可见属性是我的问题...不是一个非常直观的事情。
  • 这里是要挖的红十字!
【解决方案2】:

这是应该被覆盖和使用的事件。

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

【讨论】:

    【解决方案3】:

    我遇到了这个问题,看来您可以在 Web.Config 和 Machine.Config 中设置 AutoEventWireup。 http://support.microsoft.com/kb/324151

    所以也许该服务器上的 machine.config 发生了一些事情。

    可能值得一看。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-08
      • 2019-01-31
      • 2013-04-09
      • 2015-07-25
      • 2017-06-25
      • 2012-02-21
      • 2018-09-13
      相关资源
      最近更新 更多