【问题标题】:Render Ajax page request without layout but keep sublayout intact在没有布局的情况下呈现 Ajax 页面请求,但保持子布局不变
【发布时间】:2013-02-14 15:05:54
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: asp.net ajax asp.net-mvc-4


    【解决方案1】:

    稍等一下,我当然可以在应用 _Layout 之前在 _subLayout 中执行 Request.IsAjaxRequest()。解决了这个问题。

    if(!Request.IsAjaxRequest())
    {
        Layout = "~/Views/Shared/_Layout.cshtml";
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-23
      • 1970-01-01
      • 2017-05-02
      • 2015-05-07
      • 1970-01-01
      • 2012-04-06
      • 2013-04-03
      • 1970-01-01
      相关资源
      最近更新 更多