问题标签 [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.
reactjs - 通过使用 JavaScript 互操作导入的 JavaScript 库将 React 应用程序移植到 Blazor 应用程序
我目前有一个 React 应用程序,我正在尝试将其转换为 Blazor WebAssembly 应用程序。React 应用程序有一个导入 JavaScript 库的组件,可以在此处查看其示例代码。如果不授予访问权限,则无法访问导入的charting_library
代码本身,但这不应该是回答这个问题的问题。
在我的 React 应用程序中,根据示例代码,我有以下代码(为简洁起见,去掉了):
我已阅读有关Blazor 组件和Blazor JavaScript interop的信息,并尝试使用 JavaScript interop 实现组件以使用charting_library
我正在使用的 JavaScript,其方式与在 Blazor 中的方式与在我的 React 应用程序中的方式相同。因此,按照上的说明IJSRuntime
,我在下面添加了charting_library
JavaScript 代码wwwroot
,并将以下内容添加到index.html
:
Components\TradingViewChartComponent.razor
然后,我创建了一个简单的 Blazor 组件(
也不清楚我是如何在Index.razor
. 以下导致错误:
错误是:
“发现具有意外名称 'TradingViewChartComponent' 的标记元素。如果这是一个组件,请为其命名空间添加 @using 指令。”
它指的是模板示例文件SurveyPrompt.razor
。我不确定连接是如何建立的,但是当其余代码构建时,这可能会自动解决吗?这不是因为我遇到了与 jQuery 有关的其他错误,例如“找不到'jquery'的类型定义文件”。这在charting_library
代码本身中,我猜这在 React 应用程序中不是问题,因为create-react-app
用作 Visual Studio React 应用程序模板的一部分添加了必要的依赖项,例如 jQuery。那么如何在 Blazor 应用程序中确保这种依赖关系呢?
这里的主要问题是,如何在 Blazor 应用程序中使用 JavaScript 库,就像在 React 应用程序中使用它一样?额外的问题,例如包含 Blazor 组件Index.razor
和我得到的 jQuery 错误是额外的问题,如果它们可以单独回答,则不需要在这里回答(我不介意为它们创建单独的问题)。
感谢任何人都可以提供的任何帮助!我熟悉 C# 和 React,但对 Blazor 很陌生,而且我的 JavaScript 知识有限。
c# - 这可以将异步函数结果添加到表行中吗?
我正在为我的 REST API 创建 Web 客户端,并且我想在我的表中添加一个包含异步函数结果的字段。
简而言之,我有一个产品列表,列表中的项目具有“UnitID”属性,我用它来发出 GET 请求。当我.Result
在我的异步函数结果之后在代码中的任何位置放置时,Visual Studio 的调试器只需跳过负责调用 API 的行并“砖”整个应用程序,没有任何错误或异常。然后我必须重新启动项目。
我试图创建仅用于返回的第二个函数,GetUnit(id).Result
但它什么也没提供。我试图返回整个 Unit 对象,然后在表中,GetUnit(item.UnitID).Name
但它只是代表对象(我猜......)。我似乎只需要这样做,.Result
但是当我这样做时它不起作用。
我的 API 是用 .Net Core 2.2 制作的,我的客户端是用 .Net Core 3.0(Blazor 模板)制作的。这是一个错误还是我不能那样做?谢谢。
c# - Blazor 父组件能否知道其中有多少子组件?
我正在创建 2 个 blazor 组件:AlertMessage
和AlertMessageGroup
. AlertMessageGroup
旨在包含其中的多个AlertMessage
组件。我想AlertMessageGroup
有基于AlertMessage
s 的数量和类型的显示逻辑(AlertMessageType
是一个AlertMessage
参数,可能会引用一个枚举值)。
父组件(例如AlertMessageGroup
)是否有可能知道它包含多少子组件(例如AlertMessage
),并有基于此的显示逻辑?
(我会补充一点,理想情况下,我希望能够使用一个AlertMessage
独立的,AlertMessageGroup
如果我不想的话,不必将它包含在其中)
blazor-server-side - 是否可能:使用 Blazor 服务器端作为客户端应用程序
有一个现成的 azure 微服务,我需要针对它构建客户端应用程序。有 2 种选择 blazor 服务器端和客户端。因为客户端还没有准备好并且调试能力有限,所以我想使用 blazor 服务器端。
我的问题是是否可以从 blazor 服务器端调用服务,以及是否是个好主意。将其用作客户端应用程序?还有是否可以在 azure 的微服务旁边托管 blazor?
blazor - Blazor 客户端,服务器项目未发布
当我发布我的 blazor 客户端应用程序时,应用程序的服务器部分(由 asp.net 核心托管)似乎没有发布。
当我无法访问应用程序的任何 api 端点时,我发现出了点问题。
我可以做些什么来发布所有项目/程序集?
asp.net-core - Blazor - 更改 DI 服务的属性后,剃须刀页面未更新
使用 dotnet 3.1.100-preview2-014569
好的,请考虑以下示例:
从模板创建一个新的 Blazor WebAssemply 项目,然后添加以下内容:
books.razor
BookService.cs
Startup.cs
NavMenu.razor
预期行为:单击菜单项 Loan Book 时,页面应显示 Book Loaned,或者如果我单击 Return Book,则应显示 Book Return。但这只有在我单击另一个页面(例如主页)然后再返回时才会发生。
即使页面已经在同一页面上,如何强制页面重新渲染/重新检查来自 BookService 的更新值?
谢谢!
blazor - 无法在客户端 blazor 中覆盖 OnAfterRenderAsync
在我的 Blazor 客户端应用程序中,我试图覆盖OnAfterRenderAsync
使用
我收到一个错误
没有合适的方法来覆盖!?
另一方面,这个覆盖工作得很好:
任何线索这里有什么问题?
asp.net-core - AuthorizeRouteView 不适用于已注销的用户
我们开始将项目迁移到 blazor,并且在将内容限制为仅登录用户时遇到了一些问题。
对于此测试,我们使用了标准的 Visual Studio 2019 Blazor 服务器端项目模板,并启用了本地用户和帐户身份验证。
然后我们将 App.razor 文件更改为以下内容:
中的代码<NotAuthorized>
永远不会被击中,我已经确认浏览器上没有 cookie,甚至在私人浏览器窗口中也尝试过。
我在另一个组件中注入了 HTTPContext 以查看当前用户的情况。当前用户不为空,它具有身份,但显示未经身份验证,并且没有预期的声明。
我在这里缺少什么吗?
asp.net-mvc - 究竟是什么触发了 Blazor 组件重绘自身?
我有 Blazor WebAssembly 应用程序。我有一个共享模型类的父子组件。当子级更新模型上的值时,子级会重绘自己,但父级不会。那么究竟是什么触发了 Blazor 组件重绘自身呢?我找不到有关 Blazor 特定方面的任何文档。
我有一个 POCO 模型课。在实际应用中,这来自一个单独的程序集。模型/AwesomenessModel.cs:
我的索引页。页面/索引.razor:
父类。我添加了一个重绘按钮来验证内容是否应该已更改。组件/Awesomeness.razor:
对 Awesomeness 模型进行实际更改的子组件。组件/AwesomenessSelector.razor:
当我运行应用程序并单击一个令人敬畏的级别时,该级别会消失(AwesomenessSelector 组件重绘),但其余部分仍然可见,并且没有“Awesomeness is...”消息(Awesomeness 组件不更新)。如果我然后单击“重绘”按钮强制重绘 Awesomeness 组件,我会收到正确的“Awesomeness is...”消息。
我可能没有以正确的方式构建代码以使父组件自动重绘。在这种情况下我应该如何构建它?