根据 razor 页面中的条件更改 asp- 页面属性值

Change asp-page attribute value based on condition in razor pages

当点击 link 时,页面应该显示在 userroles.Say 例如,如果用户角色是超级管理员,那么用户将有权访问 PageA.If 用户角色是管理员, 那么用户就可以访问 PageB 了。我试过的是,

@if (Context.Session.GetString("userrole") == "superadmin")
                {
                    var HomepageUrl = "/PageA";
                }
                else
                {
                    var HomepageUrl = "/PageB";
                }
                <a asp-area="" asp-page="@HomepageUrl"></a>

但是我收到类似“HomepageUrl 在当前上下文中不存在”这样的错误。 任何帮助将不胜感激。

你可以尝试使用条件运算符?:,这里是一个official doc,这里是一个演示:

<a asp-area="" asp-page="@(Context.Session.GetString("userrole") == "superadmin"?"/PageA":"/PageB")">link</a>