2010-05-04 29 views
4

我想爲我的ASP.NET MVC應用程序中的網頁設置默認的內容類型爲text/html。如何在我的web.config中設置默認的content/text/html類型?

我知道這可以通過添加的ContentType =「text/html的」我所有的<%頁%>元素來完成,但我更喜歡使用的web.config來代替。我怎樣才能做到這一點?

感謝,

阿德里安

編輯:我知道,「文本/ HTML」是ASP.NET默認,但不知什麼原因,歌劇仍然試圖解析我的網站作爲XHML除非我明確地在我的<%Page%>元素中設置了內容類型。

回答

8

我們有完全相同的問題,對我們來說問題是我們從CodePlex獲得的mobile.browser文件有一個強制asp.net總是告訴我們發送給他們xhtml的Opera的桌面版本的錯誤。我刪除了mobile.browser文件,它解決了這個問題。似乎我們唯一能找到的將會覆蓋mobile.browser的指令,就是在每個視圖標籤上指定ContentType =「text/html」。即使在global.asax中設置內容類型也沒有什麼區別。

更新:我發現從mobile.browser文件中刪除名爲「preferredRenderingMime」的所有功能節點將解決此問題,並仍然允許我們識別移動瀏覽器。

+2

是的,這正是我遇到的問題。只要我剛刪除這個文件,標準內容類型再次設置爲text/html。非常感謝您的提示!我想知道爲什麼這個投票被拒絕了? – 2010-10-10 09:25:14

+0

Blegger - 你知道錯誤在哪裏,所以我可以修復它? – 2011-01-05 09:04:59

+0

Scott - 我在mobile.browser文件中查找並替換了以下節點: 我用空字符串替換它。 – Blegger 2011-01-18 20:55:58

1

你可以在Global_BeginRequest事件處理程序做到這一點編程中的Global.asax.cs:

protected void Application_BeginRequest(Object sender, EventArgs e) 
{ 
    HttpContext.Current.Response.ContentType = "text/html"; 
} 

僅供參考,文檔說 「文本/ HTML」 是ASP.NET默認反正: http://msdn.microsoft.com/en-us/library/ms525208(VS.85).aspx

1

aspx視圖的內容類型已設置爲text/html

Content-Type: text/html; charset=utf-8 
+0

我也會這麼想,但它似乎不適合Opera。請參閱我上面的編輯。 – 2010-05-05 06:26:21

1

「text/html的」 是該物業的HttpResponse對象的默認值。

除非您需要將其設置爲其他內容,否則不執行任何操作。要將其設置爲其他默認值,您可能需要創建一個基本的Page類設置屬性並從中繼承。

相關問題