[英]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.