簡體   English   中英

我的局部視圖仍然調用/提供_Layout.cshtml

[英]My partial view still calls/renders the _Layout.cshtml

我有一個MVC5 asp.net c#應用程序。

我開始渲染主頁。

現在,當我的用戶單擊按鈕時,它將調用jquery函數。

此功能的目的是獲取第二頁的html內容,並用第一頁的內容替換其中的內容,而不刷新整個頁面。

因此,在我的_Layout頁面中,我有這個DIV:

<div id="mainContent">
    @RenderBody()
</div>

這將加載我的默認頁面。

此默認頁面中的jquery函數為:

$("#divHomeBanner").click(function () {
    var url = '/Welcome2';
    $('#mainContent').load(url);
});

后面的代碼是:

[HttpGet]
[Route("~/Welcome2")]
public ActionResult Welcome2()
{
    return PartialView();
}

我通過加載默認頁面,單擊菜單選項,然后單擊將“帶我回到”歡迎頁面的按鈕進行測試(在此示例中,該頁面稱為Welcome2,是Welcome的完整副本)。

我注意到的是,所有資源又重新加載為JavaScript庫。

我以為使用partials的全部意圖是通過ajax來呈現內容更改?

這是錯誤的還是我實施錯誤?

謝謝

在您已部分完成的視圖中,在其頂部添加以下語句:

@{
 Layout = null;
}

這將確保您的視圖_Layout.cshtml或您具有其他名稱的主布局不會被調用。

給您的另一個建議是使用@Url.Action()幫助器來生成url,而不是使用魔術字符串:

var url = '@Url.Action("Welcome2","ControllerName")';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM