asp.net-mvc - asp net core mvc español
Tipo de contenido ASP.NET MVC y texto/xml (5)
¿Has intentado configurar el response.content del método de renderización previo de la vista en la página codebehind? eso es obviamente asumiendo que estás usando el motor de vista de formularios web
Quiero devolver una Vista () de una acción, y la respuesta resultante debe tener un tipo de contenido de texto / xml en lugar del texto predeterminado / html.
He intentado lo siguiente, sin éxito:
Response.ContentType = "text/xml";
return View();
Sé que puede especificar el tipo de contenido al devolver ContentResult
, pero eso no representa mi Vista.
Espero no tener que renderizar la vista en una cadena y luego usar return Content()
, así que probablemente paso por alto de alguna manera fácil.
El control de usuarios (ASCX) no acepta ContentType = "text / xml".
Solución:
public ActionResult xxx()
{
Response.ContentType = "text/xml";
return View("xxx.ascx");
}
Necesita una vista que no anule las cosas y genere HTML, incluido su propio tipo de contexto.
Una vista personalizada puede representar directamente a Response.Write (consulte JsonResult
en Reflector para una clase que sea muy similar a lo que necesitaría).
Para representar XML sin una cadena intermedia, guarde su XML en un XmlWriter
creado a través de Response.Output
.
Necesitas renderizar la cadena. Para devolver texto / xml, haga lo siguiente:
return new ContentResult {
ContentType = "text/xml",
Content = UTF8.GetString(yourXmlString),
ContentEncoding = System.Text.Encoding.UTF8
};
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage"
ContentType="text/xml" %>