2015-05-28 2 views
1

Я устанавливаю метод рендеринга для страницы:метод добавлен с помощью SetRenderMethodDelegate не дозвонились

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 нет!

Почему?

ответ

1

Я не знаю, должно ли оно работать с страницей. От googling вокруг кажется, что этот метод работает только с пользовательскими элементами управления. На странице вы должны просто поставить:

<%@ Page AutoEventWireup="true" %> 

На ней, и страница События вызываются автоматически.

  • Page_Init
  • Page_Load
  • Page_PreRender
  • и т.д. (смотрите на "ASP.NET страницы Lifecycle")
Смежные вопросы