gpt4 book ai didi

c# - 基于 header 值的 ASP.Net Core Blazor : How to load different _Host. cshtml 文件

转载 作者:行者123 更新时间:2023-12-03 14:07:40 24 4
gpt4 key购买 nike

我想加载一个 _Host.cshtml ASP.NET Core Blazor 项目(服务器端 Blazor)中的文件基于请求中的 header 。

例如:

客户端连接到 example.com并被重定向到 _Host.cshtml特定于租户 A 的文件。
另一个客户端连接到 test.com并被重定向到 _Host.cshtml特定于租户 B 的文件。
_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>

_Host.cshtml文件,引用 tenantA需要根据上述租户 URL 中的上述租户选择进行设置。这是可能的,如果是,如何实现?

最佳答案

这是一种可能的解决方案,

在_Host.cshtml

您可以通过动态字符串逻辑重定向到任何 _HostX.cshtml

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

@if(Request.Query["test"].FirstOrDefault()=="1")
{
Html.RenderPartial("_Host2.cshtml",null,ViewData);
return;
}

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

这是经过测试的。

您可以修改条件语句以匹配您的情况。

关于c# - 基于 header 值的 ASP.Net Core Blazor : How to load different _Host. cshtml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60951806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com