c# - 为 Razor 页面创建别名

标签 c# asp.net-core asp.net-core-mvc razor-pages

我正在玩 asp.net razor 页面。

我创建了默认的 asp.net core 2.1 应用程序,然后添加了 3 个页面:

enter image description here

通过 default convention页面将在路径中可用:

Page1 -> http://localhost/Page1
Page2 -> http://localhost/Folder/Page2
Page3 -> http://localhost/Page3

现在我想为 page2 添加一个别名,例如像这样:

Page1 -> http://localhost/Page1
Page2 -> http://localhost/Page2
Page2 -> http://localhost/Folder/Page2
Page3 -> http://localhost/Page3

是否可以在没有 adding-file-as-link 的情况下为该页面创建额外的路由/别名? ?

在@page中指定页面路由

@page "/Page2"
@{
    ViewData["Title"] = "Page2";
}

<h2>Page2</h2>

使 page2 可以作为 http://localhost/Page2 使用,但不能作为 http://localhost/Folder/Page2 :(

最佳答案

您可以使用 AddPageRoute(...) 实现此目的.这是您的情况的示例:

services
    .AddMvc()
    .AddRazorPagesOptions(options =>
    {
        options.Conventions.AddPageRoute("/Folder/Page2", "/Page2");
    });

关于c# - 为 Razor 页面创建别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53411648/

相关文章:

c# - 将用户重定向到不同 ASP.NET Core Razor 网站中的页面

c# - 如何在尊重路由配置的同时解析 Kentico Cloud 中的内容项链接?

reactjs - 为什么 ASP.NET Core 3.0 ReactJS 应用程序仅在刷新浏览器后才出现?

c# - 我怎样才能抛出带有特定 HResult 的异常?

asp.net-core - 在 ASP.NET Core 2.0 中添加全局授权过滤器

security - 保护 .NET Core MVC 网站免受暴力登录尝试(通过内置方式)

azure - 将本地 asp.net core Web 应用程序发布到 azure 应用程序服务

c# - .NET Core 2从内存流下载Excel文件

Javascript 调用在文本框更改时具有旧值

c# - Linq返回第一个日期