C# 在路由区域中添加自定义名称

C# 在路由区域中添加自定义名称,c#,asp.net-core,razor,razor-pages,C#,Asp.net Core,Razor,Razor Pages,我想添加一个自定义名称,将特定于客户端的路由作为区域的基础。 但我不知道该怎么做 假设我有一个区域“Webportal”,它给出了主页的url:domain.com/Webportal/Index。 但我想让它像:domain.com/Webportal/friendlyname/Index或另一个门户:domain.com/Webportal/anothername/Index,其中“friendlyname”和“anothername”是绑定到数据库值的动态名称。。所以这些不应该是固定路线

我想添加一个自定义名称,将特定于客户端的路由作为区域的基础。 但我不知道该怎么做

假设我有一个区域“Webportal”,它给出了主页的url:domain.com/Webportal/Index。 但我想让它像:domain.com/Webportal/friendlyname/Index或另一个门户:domain.com/Webportal/anothername/Index,其中“friendlyname”和“anothername”是绑定到数据库值的动态名称。。所以这些不应该是固定路线

为了进一步说明我正在努力实现的目标,我有以下链接:

<a asp-page="/Index" asp-area="Webportal" asp-route-name="@item.StoreOpenFriendlyName"></a>
等等

这是在razor pages ASP netcore安装程序5.0中实现的

谢谢你的帮助

编辑:

好吧,我想出来了,你所要做的就是把这个添加到startup.cs,例如:

    services.AddRazorPages()
        .AddRazorPagesOptions(options =>
        {
            options.Conventions.AddAreaPageRoute("Webportal", "/Checkout", "Webportal/{name?}/Checkout");
        });

您可以根据需要配置区域布线和格式化(图案)。如果这不够动态,请更新您的问题(关于静态方式和更动态方式的要求)。编辑问题。虽然这可能是一件简单的事情,但很难解释!哈哈。感谢您的回答。事实上,我是在询问您的区域路由配置,例如:
MapAreaRoute(…)
-您应该通过按照标准方式进行配置来实现您的目标。如果这还不够,请解释原因。好吧,就是这样,我没有任何路线设置,因为razor为您处理
    services.AddRazorPages()
        .AddRazorPagesOptions(options =>
        {
            options.Conventions.AddAreaPageRoute("Webportal", "/Checkout", "Webportal/{name?}/Checkout");
        });