2012-06-25 28 views
4

我使用由设计人员提供的html来创建主页面。更改ASP.NET XHTML呈现模式

html doctype设置为HTML 4.0 Strict。 HTML中的meta标签没有关闭结束标签(它们以>而不是/>结尾),并且该html符合W3验证器工具。

例如:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >

然而,ASP.NET改变渲染页面之前头部属性和修改的结束标记,如下

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

现在加入标签末尾的/>在W3验证器中会导致错误。

如何防止这种情况发生,并确保呈现的html与设计者的意图一致?

+4

让他们正确的做好自己的工作......并提供正确的HTML。我很认真,即使您可以编辑HTML,下次更新设计时会发生什么?你的工作将被覆盖,你将不得不再次......可能崩溃他们的设计......最好有礼貌地问他们修正HTML – Jupaol

+0

+1以上评论 –

+0

提供的HTML根据W3标准验证。问题是ASP.NET不幸地改变了输出。 – user1226830

回答

1

您可以通过强制它使用特定的XHTML一致性呈现模式来更改ASP.NET呈现HTML的方式。我不确定改变渲染器的其他副作用可能对ASP.NET产生的HTML输出有什么影响。这可以在web.config中用以下设置。

<system.web> 
    <!-- other elements here --> 
    <xhtmlConformance 
     mode="Legacy" /> 
</system.web> 

还有其他注意事项使用“遗产”渲染模式,请参阅以下MSDN资源用于其它渲染模式和细节。

XHTML Standards in Visual Studio and ASP.NET

How to: Configure XHTML Rendering in ASP.NET Web Sites