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 MiddlewareStartup.Configure 方法中的代码如下所示:

var options = new RewriteOptions();
options.AddRewrite("MyOldPage/(.*)", "MyNewPage/?handler=Test&MyParam=", false);
app.UseRewriter(options);

您应该根据需要调整正则表达式 (.*),以匹配模式或要重定向的 URL。