DotNetNuke在不改变设置的情况下把自己扔进怪癖模式



我们从来没有经历过这种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>

相关内容

最新更新