C# ASP.NET CORE 3.1客户自定义Razor页面路由
我有一个asp.net web表单,我正在转换为.net核心。该网站有许多用户管理系统中的多个客户。用户需要能够从多个浏览器选项卡管理客户。我的web旧应用程序只是简单地传递了参数CustomerId,我不得不跨多个页面管理CustomerId值,这是一件痛苦的事情。所有页面都必须使用查询?CustomerId=XXX 在ASP.net Core 3中,有没有简单的方法可以在路由和构造URL中实现这一点?我想添加一条如下所示的路线C# ASP.NET CORE 3.1客户自定义Razor页面路由,c#,asp.net,asp.net-mvc,razor,asp.net-core-mvc,C#,Asp.net,Asp.net Mvc,Razor,Asp.net Core Mvc,我有一个asp.net web表单,我正在转换为.net核心。该网站有许多用户管理系统中的多个客户。用户需要能够从多个浏览器选项卡管理客户。我的web旧应用程序只是简单地传递了参数CustomerId,我不得不跨多个页面管理CustomerId值,这是一件痛苦的事情。所有页面都必须使用查询?CustomerId=XXX 在ASP.net Core 3中,有没有简单的方法可以在路由和构造URL中实现这一点?我想添加一条如下所示的路线 这将路由到razor页面/Pages/SettingsPage.
using (StreamReader apacheModRewriteStreamReader =
File.OpenText("ApacheModRewrite.txt"))
using (StreamReader iisUrlRewriteStreamReader =
File.OpenText("IISUrlRewrite.xml"))
{
var options = new RewriteOptions()
.AddRedirect("redirect-rule/(.*)", "redirected/$1")
.AddRewrite(@"^rewrite-rule/(\d+)/(\d+)", "rewritten?var1=$1&var2=$2", skipRemainingRules: true)
.AddRewrite(@"customer(\d+)\/(.*)$", "$2?customerid=$1", skipRemainingRules: true)
.AddApacheModRewrite(apacheModRewriteStreamReader)
.AddIISUrlRewrite(iisUrlRewriteStreamReader)
.Add(RewriteRules.MethodRules.RedirectXmlFileRequests)
.Add(RewriteRules.MethodRules.RewriteTextFileRequests)
.Add(new RewriteRules.RedirectImageRequests(".png", "/png-images"))
.Add(new RewriteRules.RedirectImageRequests(".jpg", "/jpg-images"));
app.UseRewriter(options);
}