覆盖页面渲染方法

时间:2012-11-20 19:10:05

标签: c# asp.net sharepoint sharepoint-2010

  

可能重复:
  SharePoint 2010 >> Editing Output HTML >> Issues with page or master page render override

我需要覆盖页面的Render方法,并在渲染之前使用输出html进行一些操作。但是当我尝试执行最简单的操作时,我会遇到一些奇怪的问题。 对于调试建议我添加了这样的代码:

protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
    if (Request.QueryString["test"] == "test")
    {
        StringBuilder sb = new StringBuilder();

        base.Render(new HtmlTextWriter(new StringWriter(sb)));

        writer.Write(sb.ToString());
    }
    else
    {
        base.Render(writer);
    }
}

现在如果在URL中有?test = test,则输出HTML将被破坏。响应HTML以:

开头
VM-SP\administrator<script type="text/javascript">
//<![CDATA[
var _spUserId=1;
//]]>
</script>
<!DOCTYPE html ...

如果URL中没有?test = test,则响应HTML以:

开头
<!DOCTYPE html ...

'VM-SP \ administrator'是当前用户的名称。为什么输出不同?这段代码有什么问题?

0 个答案:

没有答案