Six*_*mes 0 doctype dotnetnuke
我们之前从未经历过DNN,但是已经运行很长时间的网站正在投入Quirks模式,因为FallBack Skin Doctype已经改为HTML4(Legacy).
我现在唯一不同的做法是直接开发ASCX文件,而不是像过去那样解析皮肤.在此过程中,我不会靠近主机设置.
有什么想法吗?谢谢
如果皮肤未指定DocType,则DNN会查看其主机设置.因此,您可以在主机设置中更改它(首选)或在皮肤中指定它.使用ASCX来定义皮肤而不是HTML应该没有任何区别.
要指定外观的doctype,您有两种选择:1.)创建名为"Your Skin Name".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>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)