我有一個雙胞胎的佈局設置,可以呈現整個頁面(包含導航),也可以只顯示內容,具體取決於它是否是Ajax請求。我做到這一點,像這樣:MVC中的條件部分
_LayoutRightPanel.cshtml
@{
Layout = !Request.IsAjaxRequest() ? "~/Views/Shared/_Layout.cshtml" : null;
}
這工作對大多數的網頁,而是通過包含@section{}
小號不工作的Ajax請求的網頁(正常加載當他們這樣做)。我收到以下錯誤:
The following sections have been defined but have not been rendered for the layout page "~/Views/Shared/_LayoutRightPanel.cshtml": "scripts".
在我_LayoutRightPanel的底部我下面來渲染腳本,強制將部分呈現在主佈局或使其當前頁面上如果一個Ajax請求
@if (Request.IsAjaxRequest())
{
RenderSection("scripts", false);
}
else{
@section scripts{
@RenderSection("scripts", false)
}
}
當您通過Ajax更新部分頁面時,爲何不將腳本放入部分視圖中而不是更改整個佈局。 –
那就是我想要做的 – Chris