【问题标题】:Override a logic which is written in OnPreRender on a Page覆盖在页面上的 OnPreRender 中编写的逻辑
【发布时间】:2015-07-21 13:42:37
【问题描述】:

我有一个逻辑,我在所有页面中使用OnPreRender 方法禁用链接。但在一个特定页面上,我想启用此链接如果满足特定条件,例如链接文本是“印度”。

我试图在该页面的Page_Load 上执行此操作,但它被OnPreRender 方法覆盖。

有什么方法可以在不干扰现有OnPreRender 方法的情况下实现这一点?

【问题讨论】:

  • 为什么不把你在OnPreRender里的逻辑放到PageLoad里,然后把你的具体条件加到OnPreRender里?

标签: c# c#-4.0 pageload prerender


【解决方案1】:

看看 ASP .NET 中的控件生命周期: https://msdn.microsoft.com/en-us/library/aa719775(v=vs.71).aspx

Page_Load 出现在 OnPreRender 之前。您可能能够覆盖OnRender 事件,因为它发生在OnPreRender 之后。

这是在 ASP.NET 页面中覆盖 Render 方法的方法:

protected override void Render(HtmlTextWriter writer)
{
  // Do stuff here, make the link enabled/disabled etc.
  // Be sure to call base.Render() as well if appropriate.
}

【讨论】:

  • 如何使用它来禁用链接?我不知道 OnRender 事件以及如何将其用于我的目的。你能解释一下吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多