问题标签 [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 投票
3 回答
2158 浏览

blazor - Blazor webassembly 应用程序和检测浏览器功能

我是 Blazor/WebAssembly 的新手,喜欢这项技术,但不了解某些实现细节背后的原因。

例如,如果用户使用不支持 WebAssembly(即 IE 11)的浏览器导航到由 Visual Studio 向导创建的客户端 Blazor/WebAssembly 应用程序,则该网站将仅显示

永远。

原因很清楚,但微软为什么要这样实施呢?尝试检测浏览器是否支持 WebAssembly 以及如果不支持 - 将用户重定向到另一个静态页面解释原因(即“您的浏览器不支持 WebAssembly,请使用 Chrome v. XX 或以上,Edge v. XX 或以上等”)?

0 投票
2 回答
241 浏览

blazor - Blazor Wasm 的 CSS 封装

Blazor 组件是否支持像 Angular 一样的 css 封装?如果是这样,怎么做?否则,每个组件的 css 推荐方法是什么?我想封装仍然可以手动实现,但框架本身是否有更好的支持?

0 投票
2 回答
648 浏览

visual-studio-2019 - Visual Studio 2019 Blazor 客户端选项不可见

.net core 3 发布后,我将 vs 2019 更新为 16.0.1。但我找不到 blazor 的所有选项。我只能看到 blazor 服务器端选项,但没有别的。有趣的是,模板在命令行中可见。

但在 Visual Studio 中看不到客户端选项。我安装了 .net core 3-preview。为了以防万一,我已经卸载了它,但这并没有帮助。还有其他人遇到过这个问题吗?

0 投票
1 回答
89 浏览

c# - Blazor 服务器应用程序、WebAssembly-HostedByDotNetCore 和 WebAssembly 之间的适当澄清?

我一直对 Blazor 的三种不同选项感到困惑;(服务器应用程序、WebAssembly 和 WebAssembly 托管)。虽然,这篇文章说得很清楚。

但是,我仍然不清楚,因为我们可以同时受益于 Blazor 服务器端应用程序的客户端 SinglePage 体验和服务器端功能,为什么我们需要使用其他两个选项(WebAssembly 和 WebAssembly-托管)?我知道在 webAssembly-hosted 选项中,代码将通过客户端的 webAssembly 和 dot.NetCore 进行解释。另一方面,在服务器端应用程序上,请求发送到服务器并被渲染,然后返回到浏览器。

因此,通过使用 Blazor 服务器端应用程序,我既可以保持 MVC.Net 之类的编码方式并拥有不同的.cshtml页面,也可以在我的项目中使用单页部分。(如果我错了,请纠正我!)

更新:

让我们这样问:

  • 在 WASM 托管模式下,组件(及其代码和其他文件)将由客户端(浏览器)请求发送,然后浏览器(几乎)获取所有组件和文件以呈现页面(以及代码到由客户端的客户端 .Net 核心解释)。所以现在,唯一的网络活动将是 API 请求和结果。
  • 但是,在服务器端应用程序上,您可以进行正常的页面加载(就像在 MVC.Net 上发生的那样,但是使用 SignalR 而不是 Ajax),也可以使用单页模式(例如,在 Server- Side app 模板,Profile 页面,向服务器发送和接收数据。但是,weatherForecast 和 Counter 页面仍然是客户端,没有进一步的网络活动)。在这种模式下,浏览器再次从服务器获取文件和组件(是否预渲染),传输的数据没有 WASM 模式那么大,而且用户仍然在体验没有网络流量的单页 Web 应用程序因为用户正在这个区域工作。
0 投票
1 回答
241 浏览

asp.net-core - 为什么我的 cypress e2e 测试从未完成?

我有这个 cypress e2e 测试。

完整的代码可以在这里找到https://github.com/RemiBou/Toss.Blazor/tree/master/Toss.Tests.E2E.Cypress

当我使用以下代码运行我的项目时

代码运行良好,断言“expect(xhr.status).to.eq(200);” 返回 true 但测试执行永远不会停止。这是为什么 ?

0 投票
1 回答
503 浏览

c# - 更新 blazor 版本 3.0100 后,Microsoft.JSInterop.Infrastructure.DotNetDispatcher.ParseArguments 中的参数出现错误

在将我的 blazor 项目从 .net preview 7 更新到 .net core 3.0.100 版本后,我在 sycfusion 网格控制中遇到错误,我更新了所有最新的包。还通过参考 https://devblogs 更新语法更改。 microsoft.com/aspnet/asp-net-core-and-blazor-updates-in-net-core-3-0-preview-9/

0 投票
1 回答
1212 浏览

blazor - 来自子组件的 Blazor onclick 不会导致重新渲染

我有一个带有一个子组件的组件

和 MyBtn 组件

当我单击按钮 ExecuteAsync 方法被执行但视图没有改变。我没有看到带有“我很忙”文本的跨度。

我什至尝试在 MyBtn 中创建 EventCallback

但这也无济于事。

我无法弄清楚为什么单击组件中的按钮时父状态没有改变,我该如何解决?除了在 IsBusy 属性更改时手动调用 StateHasChanged。

如果我在 MyBtn 组件中将参数从 ICommand 更改为 EventCallback 并传递 ExecuteAsync 方法,它就可以工作。为什么?如何通过将 ICommand 作为参数传递并调用 Execute 方法使其工作?

编辑:我只是想知道如果我从 EventCallback 工厂中删除 lambda,它可以工作,但我不知道为什么

0 投票
1 回答
3027 浏览

asp.net-core - CascadingAuthenticationState 和 NotFoundContent 标记在 Blazor 中不起作用

所以我一直在按照本教程在我的 blazor 客户端应用程序(托管 asp.net 核心)上实现授权/身份验证。一切正常,直到我开始在客户端工作(教程中的“配置客户端 Blazor”副标题)。我已经成功安装了 Blazored.LocalStorage nuget 包。但我未能将“CascadingAuthenticationState”和“NotFoundContent”组件添加到我的 App.razor 文件中。编译器看不到这些组件并要求添加 using 指令。

这是 _Imports.razor:

这是不工作的 App.razor(我要求帮助我让它工作):

这是正在运行的 App.razor(我默认拥有它):

以下是项目的版本:

Blazor.Client(Microsoft.AspNetCore.Blazor nuget 包):3.0.0-preview9.19465.2

ASP.NET Core(Microsoft.AspNetCore.Blazor.Server nuget 包):3.0.0-preview9.19465.2

共享:.NET Standard 2.0 库

我该如何解决这个问题?看起来这些组件应该默认可用。即使没有,我也无法在互联网上找到这些组件的名称空间。

0 投票
0 回答
112 浏览

blazor - 无法理解 Blazor/Mono 编译错误?

我正在开发一个基于 Web 程序集的 Blazor 项目,并且遇到了一个相当冗长的错误,除了与依赖项有关之外,我无法弄清楚问题是什么。

我在这里做错了吗,这是 Blazor 软件包之一的问题吗?采取什么正确的措施来解决这个问题?

我已将 Blazor 服务器项目更新为 ASP.NET Core 3.0。

错误代码是 MSB3073。

描述是:

The command "dotnet "C:\Users\twhite\.nuget\packages\microsoft.aspnetcore.blazor.build\3.1.0-preview1.19508.20\targets\../tools/Microsoft.AspNetCore.Blazor.Build.dll" resolve-dependencies "C:\EpicSource\Tools\TaylorTest\TaylorTest\TaylorTest.Client\obj\Debug\netstandard2.0\TaylorTest.Client.dll" --references "C:\EpicSource\Tools\TaylorTest\TaylorTest\TaylorTest.Client\obj\Debug\netstandard2.0\blazor\resolve-dependencies.txt" --base-class-library "C:\Users\twhite\.nuget\packages\microsoft.aspnetcore.blazor.mono\3.1.0-preview1.19503.1\build\netstandard1.0\../../tools/mono/bcl/" --base-class-library "C:\Users\twhite\.nuget\packages\microsoft.aspnetcore.blazor.mono\3.1.0-preview1.19503.1\build\netstandard1.0\../../tools/mono/bcl/Facades/" --output "C:\EpicSource\Tools\TaylorTest\TaylorTest\TaylorTest.Client\obj\Debug\netstandard2.0\blazor\resolved.assemblies.txt"" exited with code -2147450730. TaylorTest.Client C:\Users\twhite\.nuget\packages\microsoft.aspnetcore.blazor.build\3.1.0-preview1.19508.20\targets\Blazor.MonoRuntime.targets

我查看了 Blazor 的 Github 列表,发现了一个看似相似的问题(here),但仍然不明白错误,也不明白如何解决这个问题。

关于这个问题是什么的任何想法?这似乎是升级到各种版本时引入的某种依赖问题。

我尝试恢复到 v.3.0.0-preview9.19465.2 似乎可以解决问题。不过,我无法升级到 v3.1.* 预览版。

0 投票
1 回答
1045 浏览

c# - How to update HREF after anchor gets clicked in Blazor?

Trying to replace HREF upon click on Anchor with Blazor.

So in pseudo;

click => calls function => replaces HREF => triggers open event, but targets new HREF

couldn't make it happen, what should be the syntax?

Side note Please do not reference https://github.com/aspnet/AspNetCore/issues/5545. I'm asking how to replace the HREF value with an external address which is irrelevant to that issue since I'm OK to use javascript: void(0) at this point.