Razor Pages - 从旧页面路由到新页面
Razor Pages - Routing from old page to new one
我正在使用 "razor pages" 和 asp.net 内核。
在我的一个名为 "MyNewPage" 的页面中,我有以下代码:
public void OnGetTest(string MyParam)
{
//do something
}
要执行它,我只需转到:/MyNewPage?handler=Test&MyParam=abc
这很好用。我现在想做的是将一个旧的 URL 映射到它。例如:
/MyOldPage/xyz should map to /MyNewPage?handler=Test&MyParam=xyz
在 Startup.cs 我想在 ConfigureServices 中写这样的东西,但它不起作用。有什么想法可以实现吗?
options.Conventions.AddPageRoute("/MyNewPage?handler=Test&MyParam={text}", "/MyOldPage/{text}");
考虑使用 Url Rewriting Middleware。
Startup.Configure
方法中的代码如下所示:
var options = new RewriteOptions();
options.AddRewrite("MyOldPage/(.*)", "MyNewPage/?handler=Test&MyParam=", false);
app.UseRewriter(options);
您应该根据需要调整正则表达式 (.*)
,以匹配模式或要重定向的 URL。
我正在使用 "razor pages" 和 asp.net 内核。
在我的一个名为 "MyNewPage" 的页面中,我有以下代码:
public void OnGetTest(string MyParam)
{
//do something
}
要执行它,我只需转到:/MyNewPage?handler=Test&MyParam=abc
这很好用。我现在想做的是将一个旧的 URL 映射到它。例如:
/MyOldPage/xyz should map to /MyNewPage?handler=Test&MyParam=xyz
在 Startup.cs 我想在 ConfigureServices 中写这样的东西,但它不起作用。有什么想法可以实现吗?
options.Conventions.AddPageRoute("/MyNewPage?handler=Test&MyParam={text}", "/MyOldPage/{text}");
考虑使用 Url Rewriting Middleware。
Startup.Configure
方法中的代码如下所示:
var options = new RewriteOptions();
options.AddRewrite("MyOldPage/(.*)", "MyNewPage/?handler=Test&MyParam=", false);
app.UseRewriter(options);
您应该根据需要调整正则表达式 (.*)
,以匹配模式或要重定向的 URL。