簡體   English   中英

動態更改aspx頁面的文檔類型

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM