我有一个使用嵌套布局的相对较小的网站。
_Layout.cshtml包含网站的整体布局;
我希望通过Ajax加载内容,但同时保持网站无需通过URL即可导航。如果我检查控制器是否调用是Ajax并且我返回一个ParvialView,那么它不会呈现视图可能正在使用的_subLayout.cshtml。如果我正常渲染它然后它将包括_subLayout.cshtml,但也包括_Layout.cshtml。
如果视图加载时不是_Layout.cshtml,而是加载_subLayout.cshtml,同时保持_Layout.cshtml呈现完整的非Ajax调用?
答案 0 :(得分:0)
一点点哦,我可以在_Layout应用之前在_subLayout中执行Request.IsAjaxRequest()。解决了这个问题。
if(!Request.IsAjaxRequest())
{
Layout = "~/Views/Shared/_Layout.cshtml";
}