使用SetRenderMethodDelegate添加的方法没有被调用

本文关键字:调用 方法 SetRenderMethodDelegate 添加 使用 | 更新日期: 2023-09-27 17:50:54

我正在设置页面的呈现方法:

    Page.SetRenderMethodDelegate(new RenderMethod(RenderCustom));

方法是:

    private void RenderCustom(HtmlTextWriter output, Control container)
    {
        output.Write("<br/><br/><b>TEST</b><br/><br/>");
    }

它永远不会被调用。

该页面派生自Page,不实现'Render()'方法。

我试着添加一个override void Render()方法,覆盖第一页,看看它是否被调用了。我知道所有Render()方法都必须调用base.Render(),但没有,因此调用被传递给Page

但是我的RenderCustom方法保持不变。

Page.PreRender += new EventHandler(page_PreRender);工作正常,page_preRender(object sender, EventArgs e)被调用。

RenderCustom不是!

为什么?

使用SetRenderMethodDelegate添加的方法没有被调用

我不知道它是否应该与Page一起工作。从谷歌周围,似乎这个方法只适用于自定义控件。在一个页面上,你只需要输入:

<%@ Page AutoEventWireup="true" %>

,然后自动调用Page Events

  • Page_Init
  • Page_Load
  • Page_PreRender
  • 等。(查找"ASP。. NET页面生命周期")