带有前缀 id 的 Razor Pages 路由

朱总

Razor Pages 有没有办法解决这个问题:

我有一个用户属于两家公司:这些公司的 ID 为 1 和 2

我的 Razor Pages 应用程序有以下页面:

Pages/Index.cshtml

Pages/Account/Login.cshtml
Pages/Account/Logout.cshtml

Pages/Dashboard/Index.cshtml
Pages/Employees/Index.cshtml

我想要实现的是:

对于此页面,我想要常规路线

Pages/Index.cshtml

Pages/Account/Login.cshtml
Pages/Account/Logout.cshtml

对于此页面,我希望路线为/[COMPANY_ID]/Dashboard/[COMPANY_ID]/Employees

Pages/Dashboard/Index.cshtml
Pages/Employees/Index.cshtml

Pages/Index.cshtml用户可以选择使用 id 1 或 2 的公司仪表板。

关于Pages/Dashboard/Index.cshtml我要创建的链接Pages/Employees/Index.cshtml,如何确保[COMPANY_ID]自动添加权限

谢谢

Fei Han

对于页面Pages/Dashboard/Index.cshtmlPages/Employees/Index.cshtml,我希望路线是/[COMPANY_ID]/Dashboard/[COMPANY_ID]/Employees

在 Pages/Dashboard/Index.cshtml 我想创建一个指向 Pages/Employees/Index.cshtml 的链接,如何确保自动添加正确的 [COMPANY_ID] ?

要实现上述要求,您可以尝试:

添加和配置到您的页面的路由

services
    .AddRazorPages()
    .AddRazorPagesOptions(options =>
    {
        options.Conventions.AddPageRoute("/Dashboard/Index", "/{id:int}/Dashboard/Index");
        options.Conventions.AddPageRoute("/Employees/Index", "/{id:int}/Employees/Index");
    });

Dashboard/Index.cshtml页面

@page
@model xxx.Pages.Dashboard.IndexModel
@{
    var hasId = HttpContext.Request.RouteValues.TryGetValue("id", out object id);
}

<h1>Dashboard Index</h1>

<a href=@(@hasId ? $"/{id}/Employees/Index" : "/Employees/Index")>Employees Index</a>

测试结果

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用带有前缀的基因敲除js设置id属性

在Razor视图中获取ASP.NET WEB API中的路由前缀的URL

CakePHP带有前缀路由的相对链接

带有ID的快递路由器

R代码生成带有前缀的唯一ID?

Angular2 Routing:导入带有路由的子模块,并使其带有前缀

带有asp.net core 2.0 Razor Pages的渐进式Web应用程序

Razor Pages OnPost方法中的Page()方法有什么作用?

ASP .NET Core 2.1 Razor Pages锚标记帮助器为ASP路由生成空的href

Razor Pages AJAX网址ID参数

.Net具有多个路由的Razor页面

带有路由的Razor页面局部视图

Razor和Razor Pages有什么区别

部署站点上的Razor Pages / ASP.NET CORE路由问题(404错误)

在Blazor中,如何在Pages目录中检索所有可路由的Razor组件名称?

如何在Laravel中创建带有前缀但无前缀的子路由?

带有句点的ASP.NET MVC路由值ID

`create` 的替代路由 - 没有 id 的路由失败

没有路由匹配 [GET] "/static_pages/home"

Razor Pages - 是否可以路由到视图组件以进行 AJAX 刷新

如何将 Razor 组件集成到具有多个路由的现有 Razor Pages Asp.net Core 项目中

Razor Pages 自定义页面路由

路由到 Razor Pages 中的属性

有没有办法使用 Razor Pages 进行动态路由?

根据 Razor Pages 中的路由有条件地呈现 html

在使用 .AddIdentityServerJwt() 时,.NET Core Razor Pages 应用程序的身份验证不适用于没有“/Identity”路由的视图

具有特定 id 的嵌套路由的 Rails 路由别名

Razor Pages 路由只使用一个参数,而不是两个

Razor Pages:内部带有局部视图的页面。如何存储部分视图的数据?