ASP.NET MVC和text/xml内容类型

and*_*ecu 39 xml asp.net-mvc

我想从一个动作返回一个View(),结果响应应该有一个text/xml的内容类型而不是默认的text/html.

我尝试过以下方法但没有成功:

Response.ContentType = "text/xml"; 
return View();
Run Code Online (Sandbox Code Playgroud)

我知道您可以通过返回来指定内容类型ContentResult,但这不会呈现我的视图.

我希望我不需要将视图呈现为字符串然后使用return Content(),所以我可能会忽略一些简单的方法.

eu-*_*-ne 55

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" 
    ContentType="text/xml" %>
Run Code Online (Sandbox Code Playgroud)

  • 如果你有剃刀视图,那么它应该是`@ {Response.ContentType = System.Net.Mime.MediaTypeNames.Text.Xml; }` (2认同)

Ale*_*lex 41

你需要渲染字符串.要返回text/xml,请执行以下操作:

return new ContentResult {
    ContentType = "text/xml",
    Content = UTF8.GetString(yourXmlString),
    ContentEncoding = System.Text.Encoding.UTF8
}; 
Run Code Online (Sandbox Code Playgroud)


jma*_*mav 7

用户控件(ASCX)不接受ContentType ="text/xml".

解:

public ActionResult xxx()
  {
     Response.ContentType = "text/xml";
     return View("xxx.ascx");
  }
Run Code Online (Sandbox Code Playgroud)