我们从来没有经历过这种DNN,但网站已经运行了很长一段时间扔自己进入怪癖模式,因为回肤Doctype已更改为HTML4 (Legacy)。
我现在做的唯一不同的事情是直接开发到ASCX文件上,而不是像我过去所做的那样解析皮肤。在这个过程中,我不会去任何靠近主机设置的地方。
有什么想法吗?由于
如果皮肤没有指定DocType,那么DNN会查看它的主机设置。因此,您可以在主机设置中更改它(首选),也可以在皮肤中指定它。使用ASCX而不是HTML来定义皮肤应该没有任何区别。
为皮肤指定doctype,你有两个选项:1)。创建一个名为"您的皮肤名称".doctype.xml的文件。例如myskin.doctype.xml
在文件中放入以下内容:
<SkinDocType>
<![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">]]>
</SkinDocType>
2)。在皮肤顶部添加以下内容
<script runat="server">
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim skinDocType as Control = Me.Page.FindControl("skinDocType")
If Not skinDocType is Nothing
CType(skinDocType, System.Web.UI.WebControls.Literal).Text="<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"">"
End If
End Sub
</script>