渲染ASP.Net PlaceHolder .ToString(),而不是页面

时间:2011-05-10 17:21:59

标签: asp.net webforms

我已经四处搜寻,但未能找到一个好的解决方案。我有一个PlaceHolder控件的自定义扩展,它将包含我想要输出字符串输出的表达式,而不必调用control.Render(),因为该调用会自动将内容写入页面。

有人知道如何将内容呈现为字符串并阻止页面包含它吗?

1 个答案:

答案 0 :(得分:2)

经常反刍,稍微过时的代码就像这样:

public string RenderControl(Control ctrl) 
{
    StringBuilder sb = new StringBuilder();
    StringWriter tw = new StringWriter(sb);
    HtmlTextWriter hw = new HtmlTextWriter(tw);

    ctrl.RenderControl(hw);
    return sb.ToString();
}