我想将ASP.NET MVC应用程序中的网页的默认内容类型设置为text / html。
我知道可以通过向我的所有<%Page%>添加ContentType =“text / html”来完成此操作。元素,但我更喜欢使用web.config。我怎么能这样做?
谢谢,
阿德里安
编辑:我知道“text / HTML”是ASP.NET的默认设置,但出于未知原因,Opera仍尝试将我的网站解析为XHML,除非我明确设置了内容类型我的<%Page%>元件。
答案 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对象中此属性的默认值。
除非您需要将其设置为其他内容,否则不执行任何操作。要将其设置为其他默认值,您可能需要创建一个基页面类来设置属性并从中继承。