问题标签 [blazor-server-side]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2275 浏览

razor - 我可以在 Blazor 中编写一个在视图中动态呈现元素的函数吗?

我有一个名为 BusinessUnit 的对象,其中包含一个子业务单位列表,我需要一个函数来为其父级下的每个子级呈现 <li> 元素。我到目前为止的代码如下:

嵌套的 foreach 与第一个基本相同,但对它们进行硬编码限制了我可以拥有的层次级别。我需要这样的功能:

有谁知道我可以为最后一个代码块中的注释做什么?我可以使用 C# 代码动态呈现列表标记吗?比:)

0 投票
2 回答
874 浏览

c# - Blazor route with encrypted parameters

How can I make my Blazor application to receive the encrypted parameters that contain the encoded special characters such as "/" and "+".

My screenshot can be found here

How should I configure the Blazor parameters, so that they are split and translated correctly?

0 投票
1 回答
986 浏览

c# - 如何将数据从控制器传递到 Blazor 上的视图?

我尝试使用 Blazor(服务器端)创建一个项目并将视图创建为 .razor,我还添加了控制器。如何将数据从控制器传递到视图 .razor ?

我想我可以在控制器中创建一个公共变量,即交互控制器和.razor。但我不知道代码


0 投票
1 回答
1393 浏览

asp.net-identity - Jwt 身份验证在 Blazor 服务器端不起作用

我在具有角色和所有内容(使用身份)的 Blazor 客户端托管项目中使用了 Jwt 身份验证,但是当我在 Blazor 服务器端执行相同操作时它不起作用,例如在我在标头中设置令牌之后:

IsAuthenticated 返回 false,当我导航到主页(导致刷新)时,IsAuthenticated 仍然返回 false,并且无法通过 HttpContext.User.Identity.Name 访问用户名!是否有解决方法。(Blazor 服务器端预览版 6 中的默认身份验证仅限于本地化和其他内容,我不想使用它)

0 投票
2 回答
1898 浏览

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

我有一个现有的 Razor Page asp.net Core 2.2 项目我正在尝试移植到 asp.net core 3(我知道这仍处于预览阶段,但 RC 指日可待,我只是在复习)这是一个基本项目有几个简单的页面和这些页面的一些路由。我可以让组件正确呈现,但动态内容的 SignlaR 连接仅适用于索引页面,无论我在哪里注入 blazor js

我的 startup.cs 看起来像这样

我创建了我的 _imports.razor 文件,其中包含...

...在我的 _Layout.cshtml 文件中,我放置了对 blazor 脚本的引用...

在我的索引和子页面上,我都这样调用组件......

在站点的索引页面上,一切正常,通过 SignalR 使用动态服务器执行代码呈现 CSS 和 HTML。但是一旦转到另一个页面或路由,CSS 和 HTML 仍然呈现,但动态服务器端内容停止,即使我已将 blazor.server.js 放置在全局布局中。这是否不适用于链接到父布局页面的所有子页面和路由?

0 投票
1 回答
216 浏览

token - IDataProtector Unprotect:输入不是有效的 Base-64 字符串

我在使用 Identity ConfirmEmailAsync 时遇到问题,并且总是返回 Invalid Token。所以我写了一个自定义的 TokenProvider。一方面我有这个代码:

在 ConfirmEmail 页面的另一侧接收 UserID 和 Token 作为输入 Route 参数:

在创建令牌的方法末尾的自定义 TokenProvider 中,我拥有:

并且在验证方法的开头有:

每次我单击确认链接并且代码到达此行时,我都会收到此错误:

输入不是有效的 Base-64 字符串,因为它包含非 base 64 字符、两个以上的填充字符或填充字符中的非法字符。"}

当我将 GenerateAsyncEmail 方法末尾的字节转换为 base64string 时,为什么会收到此错误?同样在我的启动类中: services.AddDataProtection(); 我将它注入到 tokenprovider 类。

我确定这是 Blazor 服务器端组件的输入参数中的错误。

0 投票
1 回答
479 浏览

blazor-server-side - 为什么服务器端 Blazor 需要将所有 .NET dll 下载到浏览器?

在服务器端 Blazor 的当前版本中,所有代码都在服务器上运行,并且浏览器使用 SignalR 和某种 JavaScript 代理进行更新,只要服务器上的“shadow-DOM”发生更改,就会更新浏览器中的 DOM。那么为什么mono.wasm、客户端DLL和所有依赖的.NET DLL会下载到浏览器中呢?

这些文件被加载到浏览器中: 在此处输入图像描述

0 投票
2 回答
6506 浏览

identityserver4 - 如何创建 API/IdentityServer/Blazor(服务器端)应用程序?

我试图自己构建这个应用程序,但在此过程中遇到了几个绊脚石。我认为最好退后一步,更深入地了解我正在尝试创建的内容。似乎没有任何关于如何制作我正在寻找的东西的文档。(除非有人能指出我可能错过的正确位置)

最终我想要的是让 Blazor(服务器端)应用程序进行 API 调用以使用应用程序中的数据,然后让 IdentityServer4 封装身份验证。我需要将 Azure 和 ASP.net Identity 作为可能的身份验证方法。

我已经尝试过并且能够创建一个也具有本地 API 的 IdentityServer4。我可以从邮递员那里打电话来获取令牌等。但是,当谈到将 Blazor(服务器端)应用程序绑定到 IdentityServer4 时,我感到很困惑。

我试图具体地问这个问题,但根本没有得到任何结果。我希望也许这个更大的视角可能会有所帮助。

odic-client.js 似乎是从 IdentityServer4 回调中获取数据的方法,但是,这似乎与 Blazor(服务器端)中的 .NET 授权不太吻合。我如何让这些一起工作。

0 投票
2 回答
250 浏览

entity-framework-core - Entity Framework Core 查询总是返回缓存的数据

我使用 blazor 服务器端并将我的 DbContext 注册为瞬态,我也将数据访问类注册为瞬态,但如果参数未更改,EF Core 始终返回缓存数据,除非在查询之前有更新,否则它会返回新数据。

每次调用每个数据访问方法而不是依赖注入时,我都尝试创建一个 DbContext 实例,但它也返回缓存的数据。

这是达尔:

或者:

如何解决这个问题呢?

0 投票
3 回答
8766 浏览

asp.net-core - 如何在服务器端 Blazor 中通过 HttpContext 注销

HttpContext在 Blazor 服务器端视图中访问以手动注销。我将此行添加到Startup.cs:services.AddHttpContextAccessor();并将其注入到视图中@inject IHttpContextAccessor HttpContextAccessor。我有一个尝试执行此代码的注销按钮:

但我收到以下错误消息:

我怎样才能防止这个错误?