2008-10-06 6 views
7

Je spécifie mon doctype en tant que xhtml strict, mais il est envoyé sur le réseau en tant que type de contenu de texte/html. Je voudrais spécifier que le type de contenu est application/xhtml + xm, mais je ne peux pas comprendre où, ou si, je peux configurer cela à partir de mon applicationComment spécifier votre type de contenu dans ASP.NET WebForms?

+0

BTW, après avoir fait cela, à peu près tous navigateur a pris une décharge sur moi. Donc, je l'ai laissé tel qu'il était envoyé. Normes Web, vous devez les détester. – Will

Répondre

13

Vous pouvez le spécifier dans les attributs @ page section, comme ceci:

<%@ Page ContentType="application/xhtml+xm" %> 

... plus sur MSDN.

+0

Impossible de le faire à partir du maître? Urgh. – Will

+0

Malheureusement, il ne semble pas. –

+0

Je suppose que vous pourriez le définir via Réponse, mais cela pourrait obtenir un pari sommaire en termes de fonctionnalité –

3

Dans votre code derrière le fichier, lors de l'événement Page_Load, essayez addind le code suivant:

Response.Clear() 
Response.ContentType = "application/xhtml+xm" 
+0

C'est la propriété que vous voulez, mais vous voudrez probablement la définir plus tôt que le chargement (peut-être Pre_Init) –

0

========= ============ ASPX ===

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" 
Inherits="_Default" %> 


<asp:literal runat="server" id="dt"></asp:literal> 


<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 

Code ============== derrière =========

protected void Page_Load(object sender, EventArgs e) 
{ 
this.dt.Text= "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 
Transitional//EN\" 
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"; 

} 
+0

Votre code n'est pas lié à la question, mais cela m'a aidé - voir http://geekswithblogs.net/mnf/archive /2011/09/23/change-doctype-dynamically.aspx –

Questions connexes