将html输出到继承的PageBase类中的页面

时间:2010-09-02 14:31:02

标签: asp.net .net-3.5

我继承了(没有双关语)一个旧的ASP.NET 1.1项目,现在是.NET 3.5。它设计有继承自PageBase的基类。所有后续的aspx页面都继承自此自定义页面库。它目前的工作原理是在LiteralControls中为标题和导航栏生成一堆html文本并将其放入HtmlGenericControl(在本例中称为“page”),然后使用this.Controls.Add(page);将其显示在页面上工作,但以下输出除外:

<span>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd">
    <html>
         ...
   </html>
</span>

这些跨度显然不应该存在,但它们来自HtmlGenericControl,默认为spanName的tagName。这在IE中引起了一些关于页面中心控件的奇怪行为。

基本上我知道我应该使用这些类型的主页,但是我没有时间将其全部切换掉,而且我还不是ASP.NET专家,我知道如何解决这个问题问题。是否有另一种方法可以直接将文本文本发送到HTML输出而不将其包装在控件中?显然我需要DocType成为页面上的第一件事;没有包装它。谢谢!

2 个答案:

答案 0 :(得分:1)

可以使用LiteralControl代替HtmlGenericControl吗?我不认为那些用周围标签装饰输出。

答案 1 :(得分:0)

最糟糕的情况是,使用HttpModule来改变输出并摆脱跨度。