[英]Change the doctype of an aspx page dynamically
我們在Web應用程序中使用母版頁,文檔類型在母版頁中定義。
在其中一個頁面上,我需要更改doctype,否則第三方控件將呈現錯誤。
如何僅更改特定頁面的文檔類型而不影響其余頁面?
到目前為止,最簡單的方法是制作母版頁的另一個副本,在其中更改doctype並使該頁使用新的母版。
這也可以...
protected override void Render(HtmlTextWriter writer)
{
StringBuilder sb = new StringBuilder("<!DOCTYPE HTML>" + Environment.NewLine);
HtmlTextWriter textWriter = new HtmlTextWriter(new StringWriter(sb));
base.Render(textWriter);
writer.Write(sb.ToString());
}
我不知道是否行得通
您可以使用
Response.Clear();
Response.ContentType = "text/html";
然后寫你的doctype類型
Response.Write(<new doc-type>);
但是您還將丟失所有元頭,因此,最好使用Chris Lively提供的其他解決方案。
您是否使用過ASP Literal控件?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:literal runat="server" id="docType"></asp:literal>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
然后在Page_Load中,您可以:
this.docType.Text = {your doctype-string here};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.