Asp.Net MVC 4:我们可以设置Layout = null,何时从ajax调用加载Html数据?

him*_*k66 4 asp.net-mvc jquery

我将另一个视图页面(带有Ajax请求)添加到我现有的视图页面中,就像这样 - > $("divId").html(data); 这里的数据是我通过ajax调用得到的View页面.我的问题是,对于这个Ajax返回的View页面,我可以删除'Layout'或将其设置为Layout = Null吗?

Dan*_*elB 11

在控制器操作中,您可以返回a PartialView,这只会将HTML从视图发送到客户端而不需要布局中的代码.您可以这样实现您的Action:

public ActionResult MyAction()
{
    if (Request.IsAjaxRequest()) 
    {
         return PartialView();
    }
    return View();
}
Run Code Online (Sandbox Code Playgroud)

因此,您可以对普通和Ajax请求使用相同的Action.