问题标签 [blazor]
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.
c# - Asp.net 托管了多个 blazor 应用程序
我将我的网站划分为多个 blazor 应用程序,其中每个模块都应通过子路径进行路由,例如:产品模块应通过 url “域/产品”等访问。
所以在我的asp.net核心服务器项目的configure方法中调用时
什么是通过“域/产品/*”路由所有单页应用程序 url 的正确方法
谢谢
blazor - 在文件共享上部署 Blazor Web 应用程序
Blazor 可用于创建客户端 C# 脚本网页。我在不同的地方(如MSDN 杂志文章)阅读过,一旦构建,我就可以将文件放在任何服务器上。我的理解是,将工件放在文件共享上也应该是可能的。
然而,这不是我观察到的。在我通过 Visual Studio 中的模板创建的 Blazor Web 应用程序的项目目录中运行dotnet run
使 kestrel 网络服务器启动,我可以通过指定的http://localhost:port/
地址访问工作网页。
当我在我的网络浏览器的帮助index.html
下打开路径下生成的文件时,我只看到一个文本说“正在加载...”。WebApplication1\bin\Debug\netstandard2.0\publish\WebApplication1\dist
dotnet publish
我已经研究过了index.html
,乍一看,它看起来像_framework/blazor.webassembly.js
匹配目录结构的路径。问题在哪里?
c# - 组件中的调用方法
我有这个“警报”组件:
但是,当我在我的页面上调用这个组件时,我仍然需要创建至少两个变量 - ShowError 和 ErrorText - 来处理这个警报的状态仍然会使我的代码很混乱,因为这个警报几乎存在于所有页面上。
我的问题是:是否可以通过在子组件中调用 ShowMessage 方法来整理代码?
一个例子是这样的:
页
“警报”组件
blazor - 是否有充分的理由在 SetParameters 方法中而不是直接初始化属性?
在下面的代码片段中,取自 Blazor 示例,StartDate 属性在派生的 SetParameters 方法中初始化,而它可以这样初始化:
我想知道这是否只是风格偏好的问题,还是有充分的理由这样做......
}
blazor - 如何从其父组件调用组件公共方法?
所以我想在子组件(TimeEntryForm)中调用OpenModal()方法。我认为我需要访问 TimeEntryForm 组件的实例,但我不知道如何创建 TimeEntryForm 的命名实例。
任何帮助,将不胜感激。
父组件
TimeEntry 子组件
视图模型后面的时间条目子组件代码
c# - C# Blazor 客户端从 url 读取哈希参数
在客户端,我想读取哈希参数
我知道如何在 JavaScript 中做到这一点 - 但我的问题是如何在 Blazor 项目的 c# 客户端中做到这一点
例如,我有一个 URL http://localhost:5060/#token=12345678
如何服用token
?
我在 index.cshtml 中的代码
c# - 为许多选项绑定到复选框的正确方法
我有一个选项页面。为了简单起见,我将其缩减为启用/禁用水果的复选框。可以在几种水果之间进行选择,并且水果的数量会随时间而变化。还存在另一种快速过滤水果的选项。在https://github.com/cloudcrate/BlazorStorage的帮助下,设置存储到 LocalStorage 并从中检索
据我了解, bind 只能绑定到变量或属性,所以我不能这样做:
这也不起作用,因为所有复选框都会切换相同的属性:
我最终做的是创建一个组件,该组件具有属性 Name 和 Enabled 以及一个指示状态更改的事件:
我还有一个按钮,用于保存当前设置和事件 OnSettingsChanged 的处理程序:
禁用/启用黄色水果的单个复选框经常使用,应该直接生效。所以 Checked 属性在 get/set 中访问本地存储。单个水果不经常更换,只有在按下保存后才应保存到本地存储中。
此设置在 Blaxor 0.5.0 中运行良好,但在升级到 0.6.0 后就不行了。当点击黄色水果复选框时,所有单个水果 OnSettingsChanged 在使用 LocalStorage 中保存的值进行设置后都会被触发。运行访问 AllFruits 的 foreach 循环表明整个页面已重新呈现或类似。
我觉得我错过了如何做到这一点的大局。如何在不为每个选项创建单独的布尔属性的情况下显示多个选项的复选框?
asp.net-core - Blazor 服务器端应用程序抛出错误:SPA 默认页面中间件无法返回默认页面“/index.html”
我在这里找到了一个实现 Identity 的客户端 Blazor 应用程序。
它可以正常工作,但是当我将其转到服务器端 Blazor 时,它会引发错误:
"抛出异常:System.Private.CoreLib.dll 中的'System.InvalidOperationException' ("SPA 默认页面中间件无法返回默认页面'/index.html',因为找不到,并且没有其他中间件处理该请求。 ") 在 CsrfTokenCookieMiddleware 第 28 行。
我真的不知道可能是什么问题。我猜这个错误是因为在使用服务器端 Blazor 时,更多的逻辑被交给了服务器项目而不是客户端项目,并且服务器不包含 wwwroot。因此,我创建了一个从服务器项目的 wwwroot 到客户端项目的 wwwroot 的符号链接。但这也没有用。
有人可以帮我解决这个问题吗?我完全被困住了。创作者也不知道问题出在哪里。
c# - Blazor:无法获取以对象为键的字典
我正在开发一个 Blazor 应用程序,在我的一个视图的功能部分中,我有:
Node 是我定义的自定义对象。然后在相应的控制器动作中,我有:
当我尝试以这种方式获取字典时,我在控制台中看到此错误:
WASM:[System.ArgumentException] 值“App.Shared.Node”不是“App.Shared.Node”类型,不能在此通用集合中使用。
如果我更新了这些词典之一,但什么也没写,我看不到这个错误。我怀疑使用我的 Node 对象作为键这一事实给我带来了麻烦,但我不清楚为什么这不起作用。(在我的应用程序的其他地方使用这些字典当然没有问题。)