1

我想要的是下一个问题的解决方案: 1. 我有一个 MVC 4 视图 + 控制器,它呈现索引和另一个用于详细信息 2. 访问我去http://localhost:1234/Movies和去http://localhost:1234/Movies/1的信息(详细信息) 3. 我想创建一个新路线http://localhost:1234/json/Movieshttp://localhost:1234/json/Movies/1 4. 在索引方法中我希望代码如下:

public ActionResult Index(string format)
        {
            return View(db.Movies.ToList());
        }

或者

public ActionResult Index(string format)
        {
            return ChooseView(db.Movies.ToList());
        }

我希望视图根据路由呈现正确的(html\json)。

那可能吗?

谢谢。

4

2 回答 2

2

在您的控制器中

public class MoviesController : Controller
{
    [AcceptVerbs(HttpVerbs.Get)]
    public ActionResult Index(string format)
    {
        return ToResult(db.Movies.ToList(), format);
    }
}

这将/Movies获取视图呈现的 HTML 页面,Index.cshtml并将/Movies?format=json电影列表作为 JSON 数据获取。

辅助方法

public static ActionResult ToResult(object data, string format)
{
    if (format == "json")
    {
        return Json(data, JsonRequestBehavior.AllowGet);
    }
    else
    {
        return View(data);
    }
}
于 2013-09-03T13:19:59.343 回答
0

使用返回 JSON(数据)

详细访问

http://programming-pages.com/2012/10/24/json-with-asp-net-mvc-4/

于 2013-09-03T13:23:56.207 回答