我是.net的新手,我注意到在查看由.net应用程序生成的HTML源代码时,如果头标记上有runat="server"
属性,则会从head标记中删除回车符。
我删除runat="server"
并返回...返回。
当你的标题中有一些javascript和css文件时,这看起来很糟糕,因为它最终会使head标签的整个内容变成一大行。
只是想知道是否有办法控制这个或告诉.net通过配置不会破坏输出?
谢谢!
答案 0 :(得分:1)
您可以创建ControlAdapter。 将文件Head.Browser添加到App_Browsers目录,其中包含内容:
<browsers>
<browser refID="Default">
<controlAdapters>
<adapter controlType="System.Web.UI.HtmlControls.HtmlHead"
adapterType="MyNamespace.MyHeadAdapter, MyAssembly" />
</controlAdapters>
</browser>
</browsers>
适配器来源:
public class MyHeadAdapter: ControlAdapter
{
protected override void Render(HtmlTextWriter writer)
{
// base.Render(writer);
// do the fix here
}
}
PS:我没有测试过这段代码,但是使用了几乎相同的方法来重写表单的动作attriute与从HtmlTextWriter派生的自定义类。
答案 1 :(得分:0)
我在试图解决这个问题时遇到了这篇文章。
当设置runat = server属性时,我注意到了2个问题... 1)删除了元标记之间的回车,因此所有元标记在一行上聚集在一起 2)标题标签非常混乱(DVD完美描述)
我遇到的问题是我需要动态设置页面标题,元描述和元关键字。 要动态设置页面标题,需要设置runat = server属性。
我的解决方案;
希望这有帮助。