2012-03-31 30 views
0

我有一個主站頁面的asp.net mvc站點,它的頭部有如下標籤。ASP.NET MVC自動添加一個斜槓到空標籤

<head runat="server"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 

但是,當在任何瀏覽器我轉到視圖源,所述元標記被示出爲

<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 

誰添加/到結束作爲/>

問題是該網站時用W3驗證器驗證它顯示一個錯誤,說元標記應該被關閉爲>而不是/>。但我無法找到/>是如何創建的。

DOCT類型是

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

網站是網上http://tipila.com如果你想親身感受一下。

我在這裏完全無能爲力。任何幫助appriciated。

這發生在兩個卡西尼和IIS 7

+0

好奇,如果你的meta標籤後添加,會發生什麼? – 2012-03-31 19:06:27

+0

除非必須,否則你不應該在mvc中真正使用runat =「server」。你做這件事的原因是什麼? – 2012-03-31 20:32:24

+1

我忽略了:(它一定是由設計師添加的 – Amila 2012-04-01 04:16:18

回答

3

嘗試從head標籤卸下runat="server"屬性。

3

隨着ZippyV的提及,問題在於asp.net運行時正在重寫您的標籤,因爲它們被包含在服務器控件(runat =「server」)中。我建議不要使用它。

另外,您應該選擇將X-UA兼容指定爲標題,而不是元標記。這允許瀏覽器在開始渲染頁面之前選擇正確的模式。

舉個例子:

void Application_BeginRequest() 
{ 
    Response.AppendHeader("X-UA-Compatible", "IE=edge"); 
}