0

我想在 ASP.NET Core Blazor 项目(服务器端 Blazor)中基于会话状态 user_id 附加两个不同的 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"); 

这是使用等待异步获取 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" /> 
}

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

这是 _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>
....
...
..
.

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

4

0 回答 0