代码改变世界

在ASP.NET中使用一个小技巧,把Render重定向到字符串

2008-07-03 10:39  JimLiu  阅读(453)  评论(0)    收藏  举报
想做一个模板替换的控件,比如把{PostTitle}替换成标题,这很容易,但是想把{SubmitButton}替换成一个按钮呢?按钮是控件,如果不用控件编程又会麻烦点,这时候看到CommunityServer的一个Ajax实现方法:
[AjaxMethod(IncludeControlValuesWithCallBack=true)]
public virtual string GetPage(int page)
{
    StringWriter stringWriter 
= new StringWriter();
    HtmlTextWriter htmlWriter 
= new HtmlTextWriter(stringWriter);

    AddPageLinks();
    AddPreviousNextLinks();

    
if (this.ShowFirstLastLinks)
        AddFirstLastLinks();

    
this.Render(htmlWriter, false);

    
return stringWriter.ToString();
}
这里给Render方法来了个障眼法,运用同样的方法,可以把控件Render to String(听着怎么这么像Render to Texture呢?呵呵),这样一来,替换就容易多了。