在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呢?呵呵),这样一来,替换就容易多了。
[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();
}


浙公网安备 33010602011771号