问题标签 [blazor-client-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 投票
1 回答
1455 浏览

debugging - 找不到可调试的浏览器选项卡

我正在使用 Blazor wasm 项目。我一直在尝试使用 blazor 启动调试器浏览器开发工具,但我一直收到错误消息

我打

调试热键:Shift+Alt+D(当应用程序有焦点时)

这给了我

无法找到可调试的浏览器选项卡 无法从http://localhost:9222/json获取浏览器选项卡列表。确保 Chrome 在启用调试的情况下运行。

解决方法 关闭所有 Chrome 实例,然后按 Win+R 并输入以下内容:

"%programfiles(x86)%\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 http://localhost:52878/

...然后使用该新选项卡进行调试。

潜在异常:System.Net.Http.HttpRequestException:无法建立连接,因为目标机器主动拒绝了它。---> System.Net.Sockets.SocketException (10061): 由于目标机器主动拒绝,无法建立连接。在 System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancelToken) --- 内部异常堆栈跟踪结束 --- 在 System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancelToken) 在 System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage 请求,布尔 allowHttp2,CancellationToken cancelToken)
在 System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage 请求,CancellationToken 取消令牌)在 System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage 请求,CancellationToken 取消令牌)在 System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage 请求,布尔 doRequestAuth , CancellationToken cancelToken)
在 System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancelToken) 在 System.Net.Http.DiagnosticsHandler.SendAsync(HttpRequestMessage request, CancellationToken cancelToken) 在 System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts) at System.Net.Http.HttpClient.GetStringAsyncCore(Task1 getTask) 在 Microsoft.AspNetCore.Builder.BlazorMonoDebugProxyAppBuilderExtensions.GetOpenedBrowserTabs(String debuggerHost) 在 Microsoft.AspNetCore.Builder.BlazorMonoDebugProxyAppBuilderExtensions.DebugHome(HttpContext context)

我关闭了所有 chome 浏览器并运行指示的命令,但它无助于我得到同样的错误

我怀疑这个问题与 Chrome 启动后会产生大量其他 chrome 的事实有关,我可以看到它们在此处输入图像描述

我尝试将它们全部杀死,因此没有运行 chrome,然后启动了不起作用的命令,因为我再次运行了 10 个 chrome。

如何使用 blazor 找到已调试的浏览器选项卡?

0 投票
0 回答
5969 浏览

asp.net-core - Blazor 组件继承

嗨,我是 Blazor 的新用户,任何人都可以让我了解如何在 Blazor 上执行此操作,只需使用 inline-component 而无需覆盖该BuildRenderTree方法。

这个想法是创建一个始终呈现此 HTML 标记的基本组件(我们称之为它Component.razor,它是抽象的、继承的ComponentBase):

基本组件始终具有 id(自动增量)和状态变量(用于组件状态,如启用、禁用等)

然后例如我们可以通过@InheritsComponent 将该 Component 继承到 Button 中,但其内部Button.razor只有这个内联 HTML:

但是因为 Button 继承了 Component,所以生成的 HTML 将是:

请注意,按钮还会将“按钮”类名称添加到父 div 中。并且继承可以根据需要继续,例如 Component --> Button -->MultiSelectButton等。

请指教,非常感谢

0 投票
0 回答
44 浏览

blazor - Blazor - 使用构造函数注入反序列化

我有一个 blazor 客户端应用程序,它使用HttpClient.

我对 POCO 进行反序列化没有问题,但现在我想反序列化一个模型对象,该模型对象应该在反序列化过程中构建时注入一个依赖项(在客户端注册)。这可以System.Text.Json在客户端上使用序列化程序吗?

0 投票
1 回答
1405 浏览

blazor - 如何将 Blazor 应用程序部署到 Ubuntu 服务器?

我已经使用 .Net Core Blazor App 构建了一个小型应用程序,现在我正尝试在 Ubuntu 服务器上发布它。可悲的是,我找不到关于这个问题的任何具体帖子或指南。

0 投票
2 回答
5146 浏览

c# - 在客户端 Blazor 应用程序的页面中使用 [Authorize] 属性时的授权问题

当我使用

在 blazor 客户端应用程序的剃须刀页面上,它给了我这个错误

System.InvalidOperationException:无法为类型“Microsoft.AspNetCore.Components.PageDisplay+AuthorizeViewWithSuppliedData”的属性“AuthorizationPolicyProvider”提供值。没有“Microsoft.AspNetCore.Authorization.IAuthorizationPolicyProvider”类型的注册服务

我为客户端设置了身份验证并使用自定义AuthenticationStateProvider,如下所示

关于这个问题的任何帮助

0 投票
1 回答
4523 浏览

c# - 如何使用输入字段进行下拉列表以使用 blazor 进行过滤?

我想做带有输入字段的下拉列表。我使用 Blazor 客户端框架。

这是我的代码

这是工作,但如果我尝试在输入中打印不存在的值 - 结果是好的。我需要阻止选择不存在的元素。我怎么能用datalist做到这一点?或者也许我需要使用选择 - 选项?提前致谢!

0 投票
2 回答
303 浏览

blazor - Blazor Preview 9 中缺少 WebAssemblyUriHelper

我一直在使用 Microsoft.AspNetCore.Blazor.Services.WebAssemblyUriHelper 在我的应用程序中获取基本 URI

随着升级到 Preview 9,Microsoft.AspNetCore.Blazor.Services 似乎已被删除

预览 9 获取基本 Uri 的最佳方式是什么?

谢谢

0 投票
1 回答
1122 浏览

c# - Blazor .Net Core 3.0 Preview 9 - AuthenticationStateProvider 实现问题

在我们的 Blazor 应用程序中,我们将覆盖默认实现AuthenticationStateProvider以允许使用 out Jwt。

由于升级到Preview 9它现在需要将AthenticationResponse响应包装在 aTask中。

我有以下代码;

但是我收到以下错误GetAuthenticationStateAsync()

'JwtAuthenticationStateProvider.GetAuthenticationStateAsync()':返回类型必须是 'Task' 以匹配被覆盖的成员 'AuthenticationStateProvider.GetAuthenticationStateAsync()'

谁能解释一下这里发生了什么?

0 投票
1 回答
992 浏览

c# - Razor 布局中记录器的 Blazor Preview 9 问题

自从升级到Net Core 3.0 Preview 9我在尝试注入我的控制台记录器时遇到以下错误;

WASM:System.MissingMethodException:找不到方法:System.Threading.Tasks.Task`1 Microsoft.JSInterop.IJSRuntime.InvokeAsync(string,object[])

WASM:在 System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start[TStateMachine] (TStateMachine& stateMachine) <0x2df6378 + 0x0003e> in :0

WASM:在 Blazor.Extensions.Logging.BrowserConsoleLogger.Log[TState](Microsoft.Extensions.Logging.LogLevel logLevel,Microsoft.Extensions.Logging.EventId eventId,TState 状态,System.Exception 异常,System.Func`3[T1, T2,TResult] 格式化程序) <0x2df5e90 + 0x00094> 在 <3eb34b93cd4a47bf804fb0648b089edf>:0

WASM:在 Microsoft.Extensions.Logging.LoggerMessage+<>c__DisplayClass4_0.b__0(Microsoft.Extensions.Logging.ILogger 记录器,System.Exception 异常)<0x2df51a0 + 0x00058> 在:0

WASM:在(包装器委托调用)System.Action`2[Microsoft.Extensions.Logging.ILogger,System.Exception].invoke_void_T1_T2(Microsoft.Extensions.Logging.ILogger,System.Exception)

WASM:在 Microsoft.Extensions.Logging.LoggingExtensions.UserAuthorizationFailed (Microsoft.Extensions.Logging.ILogger 记录器) <0x2dee5f0 + 0x00014> 在 <85acc2b572f448f39259eac9936732f8>:0

WASM:在 Microsoft.AspNetCore.Authorization.DefaultAuthorizationService.AuthorizeAsync(System.Security.Claims.ClaimsPrincipal 用户,System.Object 资源,System.Collections.Generic.IEnumerable`1[T] 要求)<85acc2b572f448f39259eac9936732f8> 中的 <0x2ddd378 + 0x00338> :0

WASM:在 Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.IsAuthorizedAsync (System.Security.Claims.ClaimsPrincipal 用户) <0x2d52860 + 0x00228> 在 <5266bbb196bb40a89b886a09631725e6>:0

WASM:在 Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.OnParametersSetAsync () <0x2d512a0 + 0x0026c> 在 <5266bbb196bb40a89b886a09631725e6>:0

WASM:在 Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(System.Threading.Tasks.Task 任务)<0x2e0b8f0 + 0x00118> 中:0

WASM:在 Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync () <0x2bbb2e8 + 0x00248> in :0

在我的剃刀视图中,我按如下方式注入记录器;

我的基础_Imports.razor如下;

App.razor的是;

现在正在渲染的视图是一个登录页面。如果用户未获得授权,则会在重定向时移至该位置。所以在我的MainLayout.Razor页面中,我有以下内容;

为了完整起见ConfigureServices,我的Startup.cs添加记录器如下;

谁能告诉我我在这里做错了什么?由于“登录”页面正在呈现,它似乎只是问题所在的记录器?

Per Tsengs 评论我的 nuget 依赖项如下;

blazor 依赖项

0 投票
0 回答
163 浏览

blazor - Blazor 客户端中的不同 CSS 文件

我在 Blazor 客户端创建了一个管理“区域”,它有自己的 css 文件,不应该链接默认 css 文件。

VS 项目模板链接到 index.html 头部的 css。

我将如何为不同的区域使用不同的 css 文件?现在我将 css 链接移动到不同的布局文件,但感觉不对。