Asp.net mvc 如何使用.NETCore2中的Razor页面更改起始页面?

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?}"); }); 但现在我正在尝

我想将起始页设置为/Members/Index

当我使用MVC时,我将其配置如下:

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”的定义