如何在web.config中设置默认内容类型的text / html?

时间:2010-05-04 18:14:35

标签: asp.net asp.net-mvc web-config

我想将ASP.NET MVC应用程序中的网页的默认内容类型设置为text / html。

我知道可以通过向我的所有<%Page%>添加ContentType =“text / html”来完成此操作。元素,但我更喜欢使用web.config。我怎么能这样做?

谢谢,

阿德里安

编辑:我知道“text / HTML”是ASP.NET的默认设置,但出于未知原因,Opera仍尝试将我的网站解析为XHML,除非我明确设置了内容类型我的<%Page%>元件。

4 个答案:

答案 0 :(得分:8)

我们遇到了完全相同的问题,我们遇到的问题是我们从CodePlex获取的mobile.browser文件有一个错误,迫使asp.net总是告诉我们发送它们的歌剧的桌面版本xhtml。我删除了mobile.browser文件,它解决了这个问题。似乎我们唯一能找到的东西会覆盖mobile.browser的指令,就是在每个视图上指定ContentType =“text / html”<%@ Page%>标签。即使在global.asax中设置内容类型也没有区别。

更新:我发现从mobile.browser文件中删除名为“preferredRenderingMime”的所有功能节点将解决此问题,并且仍允许我们识别移动浏览器。

答案 1 :(得分:1)

您可以在Global_BeginRequest事件处理程序中的Global.asax.cs中以编程方式执行此操作:

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

仅供参考,文档说“text / HTML”无论如何都是ASP.NET默认值: http://msdn.microsoft.com/en-us/library/ms525208(VS.85).aspx

答案 2 :(得分:1)

aspx视图的内容类型已设置为text/html

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

答案 3 :(得分:1)

“text / html”是HttpResponse对象中此属性的默认值。

除非您需要将其设置为其他内容,否则不执行任何操作。要将其设置为其他默认值,您可能需要创建一个基页面类来设置属性并从中继承。