Podaję mój doctype jako xhtml strict, ale jest wysyłany przez przewód jako typ zawartości text/html. Chciałbym sprecyzować, że typem treści jest application/xhtml + xm, ale nie wiem, gdzie lub czy mogę to skonfigurować z poziomu mojej aplikacjiJak określić swój typ zawartości w WebForms ASP.NET?
Odpowiedz
Możesz określić to na atrybutach strony @ sekcja, jak poniżej:
<%@ Page ContentType="application/xhtml+xm" %>
... więcej o MSDN.
Nie można tego zrobić od mistrza? Urgh. – Will
Niestety, tak się nie wydaje. –
Domyślam się, że możesz ustawić to za pomocą odpowiedzi, ale to może być pobieżne pod względem funkcjonalności. –
W kodzie za plik, podczas zdarzenia Page_Load, spróbuj addind następujący kod:
Response.Clear()
Response.ContentType = "application/xhtml+xm"
To jest właściwość, którą chcesz, ale prawdopodobnie będziesz chciał ją ustawić wcześniej niż ładowanie (może Pre_Init) –
========= 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">
============== kod za =========
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\">";
}
Twój kod nie jest związany z pytaniem, ale pomógł mi - patrz http://geekswithblogs.net/mnf/archive /2011/09/23/change-doctype-dynamically.aspx –
BTW, po zrobieniu tego, prawie każdy przeglądarka rzuciła się na mnie. Więc zostawiłem to tak, jak było wysyłane. Standardy sieci, musisz ich nienawidzić. – Will