使用ASP.net MVC进行条件页面布局

时间:2011-04-20 18:35:33

标签: asp.net-mvc-3

如果请求是Ajax请求,我想回复具有部分视图的Web请求。如果它不是Ajax请求,我想将部分包装在布局中并提供整页。

最好的方法是什么?

干杯,伊恩。

2 个答案:

答案 0 :(得分:0)

这样的事情应该有效:

if(request.IsAjaxRequest()) {
    return PartialView();
} else {
    return View();
}

答案 1 :(得分:0)

您可以创建两个Controller方法副本,一个用于HTTP GET,另一个用于HTTP POST。如果您的所有AJAX都使用POST,那就处理它。

    [HttpGet]
    public ActionResult Index()
    {
        // Do something
        return View();
    }

    [HttpPost]
    public PartialViewResult Index()
    {
        // Do something
        return PartialView();
    }

或者,在MVC3 Futures Library中,您可以使用[AjaxOnly]标记来达到类似效果。