ASP.NET MVC - 以 HTML 或 XML 形式返回数据
Posted
技术标签:
【中文标题】ASP.NET MVC - 以 HTML 或 XML 形式返回数据【英文标题】:ASP.NET MVC - Returning data as HTML or XML 【发布时间】:2010-11-19 16:54:31 【问题描述】:请求http://someserver.com/user/btyndall时 我想返回 html 当请求http://someserver.com/user/btyndall?format=xml 我想返回我的模型的 XML 表示
我已经下载了 MvcContrib。 (我不敢相信 XmlResult 不是核心框架的一部分)
在控制器中处理请求的正确方法是什么。使用 JSON,您有一个 JsonResult 和 Json()。我看到了 XmlResult 但没有看到 Xml() 方法
我可以使用一些指导。到目前为止我所拥有的(nada):
public ActionResult Details(int id)
return View();
更新: 查看所有cmets
【问题讨论】:
我很快会在 ASP.NET CodePlex 站点 aspnet.codeplex.com 上发布一些内容,该站点将解决这种情况。敬请关注。 :) 下周我需要一些东西来制作原型。在此期间我应该使用什么策略,Phil? 【参考方案1】:这个post 展示了一种实现您所寻找的好方法。
【讨论】:
现在试试这个方法。谢谢。过会儿会回帖。【参考方案2】:如果只返回两个不同的视图呢?
public ActionResult Details(int id, string format)
if (!String.IsNullOrEmpty(format) && format == "xml")
return View("MyView_Xml");
else
return View("MyView_Html");
然后创建两个视图。 MyView_Xml:
<%@ Page Inherits="System.Web.Mvc.ViewPage<Customer>" ContentType="text/xml">
<?xml version="1.0" encoding="utf-8" ?>
<customer>
<first_name><%= Model.FirstName %></first_name>
<last_name><%= Model.FirstName %></last_name>
</customer>
和 MyView_Html
<%@ Page Inherits="System.Web.Mvc.ViewPage<Customer>">
<html>
<body>
<div><label>First Name:</label><%= Mode.FirstName %></div>
<div><label>Last Name:</label><%= Mode.LastName %></div>
</body>
</html>
【讨论】:
我知道这可以帮助我序列化为 XML,但如果我想为 Create() 方法排除 XML 怎么办?好像我在这里手写更多代码。 使用 [AcceptVerbs(HttpVerbs.Post)] public ActionResult Create(XDocument xml) 接受 XML 帖子以上是关于ASP.NET MVC - 以 HTML 或 XML 形式返回数据的主要内容,如果未能解决你的问题,请参考以下文章
更改 ASP.NET MVC 或 IIS 中的 URL 根路径
[转载]在ASP.NET MVC中,使用Bundle来打包压缩js和css