4

当请求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();
}

更新
查看所有评论

4

2 回答 2

0

只返回两个不同的视图怎么样?

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>
于 2009-08-14T16:13:05.273 回答
0

This post shows a nice way of achieving what you are looking for.

于 2009-08-14T16:20:05.633 回答