Asp.net mvc 如何使用.NETCore2中的Razor页面更改起始页面?
我想将起始页设置为/Members/Index 当我使用MVC时,我将其配置如下:Asp.net mvc 如何使用.NETCore2中的Razor页面更改起始页面?,asp.net-mvc,asp.net-core-2.0,razor-pages,Asp.net Mvc,Asp.net Core 2.0,Razor Pages,我想将起始页设置为/Members/Index 当我使用MVC时,我将其配置如下: app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Members}/{action=Index}/{id?}"); }); 但现在我正在尝
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Members}/{action=Index}/{id?}");
});
但现在我正在尝试新的Razor页面方法,现在成员是文件夹,索引是Razor页面。
如何将文件夹中的此页设置为起始页
我可以在根目录中添加索引页并在那里重定向,但我正在寻找更干净的东西。在
AppStart->RouteConfig.cs中尝试以下代码:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}",
defaults: new { controller = "Members", action = "Index"}
);
出于测试目的,您可以通过转到web项目的“属性”窗口并选择“调试”选项卡来更改起始页。在“启动浏览器”行中输入起始路径
将以下内容添加到Startup.cs中的ConfigurationServices功能中
services.AddMvc().AddRazorPagesOptions(options =>
{
options.Conventions.AddPageRoute("/Members/Index", "");
});
如果您有另一个索引页,您可能需要删除或重命名它。我正在使用这种方法
services.AddMvc()
.AddRazorPagesOptions(options =>
{
options.AllowAreas = true;
options.Conventions.AddAreaPageRoute("Home", "/Index", "");
});
我的文件夹结构是:
- Area
|_ Home
|_ Pages
|_ Index.cshtml
|_ //other areas
-区域
|_家
|_页数
|_Index.cshtml
|_//其他领域
这是总的想法。Razor页面不应影响您的路由。加载应用程序时,您看到了什么错误/问题?@RossBush我的所有页面都在子文件夹中结构化,在根目录中没有索引页。在根文件夹中创建附加索引页并重定向到子文件夹中的“我的起始页”会起作用,但在客户端和附加页上进行重定向是不必要的。空Index.cshtml和重定向到成员中的操作。Index(){}应该具有相同的效果。如果设置正确,可能不需要索引页。Members
是您所有页面的根文件夹还是您想首先访问的地方?你的页面是否在/pages
下?@RossBush我认为重定向操作不能用于重定向到Razor页面。除非我误解了你的建议。'RazorPagesOptions'不包含.NET Core 3.1
中的“AllowAreas”的定义