[英]how to map a default controller on aspnet core mvc without the default layout
我創建了一個 .NET Core 3.1 ASPNET 項目。 默認情況下,啟動頁面是 Home Controller/Index 頁面。
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
但是我想創建一個登錄頁面,所以我創建了一個帶有新操作的新控制器,並傳遞了參數,但它不是僅渲染登錄頁面,而是在布局項目中的“@RenderBody()”內部進行渲染. 在 .NET MVC5 上,它只呈現我設置的頁面。 我已經嘗試過:
app.UseMvc(routes =>
{
routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}");
});
這是同樣的事情。 登錄頁面不與布局分開呈現
這與路由無關。
如果您查看 Views 文件夾,將會有一個名為 _ViewStart.cshtml 的文件,其中包含以下代碼:
@{
Layout = "_Layout";
}
_ViewStart.cshtml 為每個視圖運行,因此默認情況下它將布局頁面設置為 _Layout.cshtml。
有2個選項:
Layout
。Layout
設置為null
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.