ASP.Net Core Blazor:如何根据会话状态 user_id受保护的浏览器存储在 _Host.cshtml 上附加不同的 css 文件

问题描述

我想根据会话状态 user_id 在 ASP.NET Core Blazor 项目(服务器端 Blazor)中附加两个不同的 CSS 文件

我有用户 1 和 2 的两个 css 文件

例如:

  1. 如果它的用户 1 css site1 应该附加到 _Host.cshtml。
  2. 如果它的用户 2 css site2 应该附加到 _Host.cshtml。

P 中的 user_id=1 和 Userid=2

1.var user_id = await storage.GetAsync<int>("user"); 

这是如何使用 await async 获取 User_id。现在的要求是采取 _host.cshtml 上的 user_id 以便

在 _Host.cshtml 上

@if(user_id ==1)
{
<link href="css/site1.css" rel="stylesheet" />          
}
else if (user_id ==2)
{
<link href="css/site2.css" rel="stylesheet" /> 
}

现在我无法使用函数 (await storage.GetAsync(User_id);) _host.cshtml

这是 _Host.cshtml 页面的样子

@page

@addTagHelper *,Microsoft.AspNetCore.Mvc.TagHelpers
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
    <Meta http-equiv="content-type" content="text/html;charset=UTF-8" />
    <Meta charset="utf-8" />
    <title>ProjectName</title>
    <link rel="icon" type="image/png" sizes="32x32" href="images/tenantA/favicons/favicon-32x32.png">
    <link rel="icon" type="image/png" sizes="16x16" href="images/tenantA/favicons/favicon-16x16.png">
</head>
<body class="something">
    <app>
        @(await Html.RenderComponentAsync<App>(RenderMode.Server))
    </app>

    <script src="_framework/blazor.server.js"></script>
    <link href="css/tenantA/site.css" rel="stylesheet" />
</body>
</html>

现在我需要在等待调用的 cshtml 上获取 user_id

    @page "/"
@addTagHelper *,Microsoft.AspNetCore.Mvc.TagHelpers

@if(User_id =="1")
{
    <link href="css/site1.css" rel="stylesheet" />          
    return;
}

<!DOCTYPE html>
<html lang="en">
<head>
....
...
..
.

这个目前正在停止我的项目。请尽快帮我

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)