页面渲染不正确

时间:2009-07-12 21:11:40

标签: c# asp.net

我尝试创建一个派生自System.Web.UI.Page的类,并在覆盖Render时设置此代码:

writer.WriteLine("<![CDATA[");
base.Render(writer);
writer.WriteLine("\r\n]]>");

我的问题是当我尝试查看代码生成时

<![CDATA[
><form name="form1" method="post" action="Default.aspx" id="form1"> 
...
</form> 
]]>

首先&gt;在CDATA错误后我不希望它生成。有什么建议吗?

3 个答案:

答案 0 :(得分:0)

你可以在调用base.Render之前尝试渲染一个空的DIV标签吗? 我怀疑可能有一个控件或页面适配器,并看到'&gt;'会发生什么结果会有所帮助。

答案 1 :(得分:0)

似乎渲染器尝试验证HTML或类似的东西。尝试将此渲染为流,然后插入并附加CDATA内容?

答案 2 :(得分:0)

我试过这个

 StringBuilder sb = new StringBuilder();
 StringWriter tw = new StringWriter(sb);
 HtmlTextWriter hw = new HtmlTextWriter(tw);

 base.Render(hw);

 string a = sb.ToString();

一切都好,但接下来当我介绍

writer.WriteLine("<![CDATA[");
writer.write (a);
writer.WriteLine("\r\n]]>");

问题仍然存在。我怀疑来自writer变量(HtmlTextWriter),在渲染过程中是否存在不验证html的方法?

相关问题