使用SetRenderMethodDelegate添加的方法不会被调用

时间:2015-05-28 02:31:52

标签: c# methods delegates postback page-lifecycle

我为Page:

设置了渲染方法
    Page.SetRenderMethodDelegate(new RenderMethod(RenderCustom));

这是方法:

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

永远不会被召唤。

该页面源自Page,并未实现&#39; Render()&#39;方法。

我尝试添加一个override void Render()方法,覆盖Page 1,看看是否已经调用了它。我知道所有Render()方法都必须调用base.Render(),但没有,所以调用会传递给Page

但我的RenderCustom方法保持不变。

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

但是RenderCustom不是!

为什么?

1 个答案:

答案 0 :(得分:1)

我不知道它是否应该与Page一起使用。从谷歌搜索它似乎这种方法只适用于自定义控件。 在页面上你应该放:

<%@ Page AutoEventWireup="true" %>

在它上面,自动调用Page Events。

  • Page_Init
  • 的Page_Load
  • Page_PreRender
  • 等。 (查看&#34; ASP.NET页面生命周期&#34;)