0

我有一个使用嵌套布局的相对较小的网站。

_Layout.cshtml 包含网站的整体布局;

  • 标题
  • 菜单
  • 内容
  • 页脚

我希望通过 Ajax 加载内容,但同时保持网站能够在没有它的情况下通过 URL 导航。如果我在控制器中检查调用是否为 Ajax 并返回 ParvialView,则它不会呈现视图可能正在使用的 _subLayout.cshtml。如果我正常渲染它,那么它当然会包括_subLayout.cshtml,但也包括_Layout.cshtml。

当它是 Ajax 调用时,如何使视图加载而不是 _Layout.cshtml,但在保持非 Ajax 调用的 _Layout.cshtml 呈现完整的同时加载 _subLayout.cshtml?

4

1 回答 1

0

A little d'oh moment, I can ofcourse just do Request.IsAjaxRequest() in the _subLayout before the _Layout gets applied. Solved the issue.

if(!Request.IsAjaxRequest())
{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
于 2013-02-14T15:21:12.503 回答