blazor 相关问题

Blazor是一个Web框架,允许开发人员在.NET中编写客户端代码。它是ASP.NET Core的一部分,称为“Razor Components”。

在具有交互式渲染的 Blazor Web 应用程序中访问自定义 AuthenticationStateProvider 内请求的 HttpContext 是否安全?

虽然有很多与 Blazor 和身份验证相关的问题,但我没有看到这个特定的问题,所以我想我会在这里问它。 我是 blazor 新手,正在努力实施 cu...

回答 1 投票 0

为什么我的 Blazor Web 应用程序在部署到 Azure 应用服务时使用 OpenIddict 进行身份验证时抛出 SocketException?

我有一个使用交互式服务器渲染模式运行的 Blazor Web 应用程序,以及一个使用 OpenIddict 构建的 ID 提供程序。 Blazor 应用程序配置为使用 Microsoft OpenIdConnectHandler,本质上

回答 1 投票 0

使用 EF Core 获取 EditForm 数据(带或不带跟踪)的正确方法是什么?

我有一个 Blazor EditForm,我使用 Model 将其与对象关联并绑定控件。 EditForm 模型 =“@Client”OnValidSubmit =“SubmitForm” 我使用 EF Core 来带数据...

回答 1 投票 0

输入数字不符合步骤

输入始终显示 4 位小数。 有没有办法限制为2? 我尝试过在数据库中进行 math.round,我尝试过使用 f2 的格式,但似乎我没有做任何事情...

回答 1 投票 0

如何在 Blazor Server 应用程序中停止事件传播

我正在使用 Grid.Blazor 库在 Blazor 应用程序上渲染服务器端网格。其中一列有一个带有单击事件的按钮。因此,当单击按钮时,网格行事件也会与按钮一起触发

回答 5 投票 0

Blazor 中路由组件的静态服务器端渲染

如果“Routes”组件中没有设置渲染模式,理论上它应该像“App”组件一样渲染为静态服务器端, 这意味着什么? 它有什么影响

回答 1 投票 0

为什么当我提交表单时,我的 blazor 中的属性总是变为空

这是我的代码: 据我所见,我正在创建该类的一个新实例,将每个属性绑定到表单中的类,然后转换为 JSON 并打印。我缺少什么? @注入

回答 1 投票 0

NavigationException:Blazor 中的“Exception_WasThrown”

我尝试导航到另一个页面,但每次都会出现异常:“Microsoft.AspNetCore.Components.NavigationException:Exception_WasThrown”。你现在知道我需要做什么或者是什么吗

回答 3 投票 0

Blazor 双向绑定和父级中的值更改事件

当子控件中的属性发生更改时,使用两种方式数据绑定在父控件中触发回调的推荐方法是什么? 我尝试过关注,但没有触发

回答 1 投票 0

ServerAuthenticationStateProvider 报告 Win32Exception: 主域与受信任域之间的信任关系失败

我有一个只有一页的 blazor 服务器应用程序 索引剃刀 @页 ”/” 您看到这一点是因为您拥有sample_role ...

回答 1 投票 0

使用overflow-x-auto(引导程序)围绕表格进行划分,但整个页面变得可滚动

我正在使用 Blazor,其中我有一个组件来加载单独的表(带有搜索和使用排序的选项)。我的桌子周围有一个带有溢出x-auto类的div,但它仍然使整个p......

回答 1 投票 0

如何从数据库加载用户角色并在 blazor wasm 中分配给用户

我有一个托管在 ASP.NET Core 中的 Blazor WebAssembly (WASM) 应用程序,它使用默认的 ASP.NET Core Identity 对用户进行身份验证。 在 Program.cs 的服务器项目中,我有以下代码: 建设者.服务.

回答 1 投票 0

Blazorise 基于 API 响应的验证消息

我有一个使用 Blazorise 的 Blazor 应用程序。我有一个密码重置对话框,效果很好,但是当将密码发送到服务器时,我会进行检查以验证密码是否已...

回答 1 投票 0

“热重载”功能似乎缓慢或有问题

我正在构建什么 我正在使用 .NET 8.0 构建 Blazor(交互式服务器)Web 应用程序 机器与软件 我使用的是配备 macOS Sonoma 和 Rider 2024.2 的 Mac Pro(Intel 2019)。所有软件...

回答 2 投票 0

如何显示 MudSelect 文本而不是当前所选项目的 MudSelect 值?

我的 blazor 代码中有以下 MudSelect 下拉菜单: 我的 blazor 代码中有以下 MudSelect 下拉菜单: <div class="w3-col m12 w3-padding"> <MudSelect T="string" @bind-Text="Input.Reference" @bind-Value="Input.ReferenceId" For="()=>Input.Reference" Margin="Margin.Dense" Variant="Variant.Outlined" Label="Select An Option"> @foreach (ReferenceData reference in referenceData) { <MudSelectItem [email protected]>@leadReference.ReferenceText</MudSelectItem> } </MudSelect> </div> 选择新项目后,如何在 @leadReference.ReferenceText 中显示 @reference.ReferenceId 而不是 MudSelect? 编辑: 建议的答案不起作用,因为@reference.ReferenceId可以重复 您可以绑定引用本身,而不是将引用.ReferenceId 绑定到 MudSelect。 然后使用 ToStringFunc 属性,您可以设置对象如何显示为字符串。 设置 T="ReferenceData"、ToStringFunc="x => x.ReferenceText"、@bind-Value="Input.Reference",Input.Reference 的类型为 ReferenceData。 <MudSelect T="ReferenceData" @bind-Value="Input.Reference" ToStringFunc="x => x.ReferenceText" ... > @foreach (ReferenceData reference in referenceData) { <MudSelectItem Value=@reference>@leadReference.ReferenceText</MudSelectItem> } </MudSelect> 如果您无法修改输入,请使用值的占位符。并使用 ValueChanged 设置 input.ReferenceId 的值 <MudSelect T="ReferenceData" Value="referenceData" ValueChanged="((e) => ReferenceChanged(e, Input)" ToStringFunc="x => x.ReferenceText" ... > private ReferenceData _referenceData private void ReferenceChanged(ReferenceData referenceData, Input input) { input.ReferenceId = referenceData.ReferenceId; } 两者的片段

回答 1 投票 0

客户端中的 Blazor Web 应用程序导航管理器 -> Exception_WasThrown

我正在使用 VS2022 创建 Blazor Web 应用程序。以下是项目概述: 在客户端项目的代码部分中使用 NavigationManager 时,出现 Exception_WasThrown 错误: 这里是...

回答 1 投票 0

Blazor 身份验证问题:注入的服务处于空状态

我正在编写我的第一个 Blazor 服务器端应用程序 (.NET 8),并且我正在努力解决身份验证逻辑:当注入到服务中时,用户/身份验证信息为空。 我有一个简单的服务...

回答 1 投票 0

如何删除 blazor 页面的内边距?

我正在学习 Blazor 混合,我找不到删除主页上填充的方法。 这是我的代码 身体{ </desc> <question vote="0"> <p>我正在学习 Blazor Hybrid,但找不到删除主页上填充的方法。 这是我的代码</p> <pre><code>&lt;div class=&#34;box1&#34;&gt; &lt;/div&gt; &lt;style&gt; body{ background-color:brown; } .box1{ width:100%; height:100px; background-color:yellow; } &lt;/style&gt; </code></pre> <p>结果如下: <a href="https://i.sstatic.net/6S6k1.png" rel="nofollow noreferrer"><img src="https://cdn.txt58.com/i/AWkuc3N0YXRpYy5uZXQvNlM2azEucG5n" alt="enter image description here"/></a></p> <p>我想要左上角的黄色框。</p> <p>我尝试在 MainLayout.razor 中更改内容,如下所示:</p> <pre><code>&lt;main&gt; &lt;article class=&#34;content px-0&#34;&gt; @Body &lt;/article&gt; &lt;/main&gt; </code></pre> <p>将 px 设置为 0</p> <p>我还尝试完全删除课程“内容”。 这删除了顶部填充,但没有删除左侧填充,如下所示: <a href="https://i.sstatic.net/cdwHd.png" rel="nofollow noreferrer"><img src="https://cdn.txt58.com/i/AWkuc3N0YXRpYy5uZXQvY2R3SGQucG5n" alt="enter image description here"/></a></p> <p>有人知道如何实现我的目标吗?</p> </question> <answer tick="true" vote="3"> <p>这就是原因。请注意您可能一直在与之斗争的 !important 的使用。</p> <p>MainLayout.razor.css</p> <pre><code>@media (min-width: 641px) { ... .top-row, article { padding-left: 2rem !important; padding-right: 1.5rem !important; } } </code></pre> </answer> <answer tick="false" vote="0"> <p>在 MainLayout.razor 中你会看到</p> <pre><code> &lt;article class=&#34;content px-4&#34;&gt; @Body </code></pre> <p>删除 px-4 和 MainLayout.razor.css 内部</p> <pre><code>.top-row, article { padding-left: 2rem !important; padding-right: 1.5rem !important; } </code></pre> <p>要么注释掉它,要么将填充设置为0px 然后它会从一个边缘移动到另一个边缘</p> </answer> </body></html>

回答 0 投票 0

Blazor 身份验证 DI voes

我正在编写我的第一个 Blazor 服务器端应用程序 (.NET 8),并且我正在努力解决身份验证逻辑:当注入到服务中时,用户/身份验证信息为空。 我有一个简单的服务...

回答 1 投票 0

Blazor @onmousedown 无法识别长按

我希望我的程序能够区分短按和长按。当短按(单击)时它可以工作,但是当我按住鼠标时 @onmousedown 永远不会被调用。这是为什么? 我希望我的程序能够区分短按和长按。当短按(单击)时它可以工作,但是当我按住鼠标时 @onmousedown 永远不会被调用。这是为什么? <li @onmousedown="MouseDown" @onmouseup="MouseUp"> ... </li> DateTime mouseDownTme; void MouseDown() { mouseDownTme = DateTime.UtcNow; } void MouseUp() { long milliseconds = (DateTime.UtcNow.Ticks - mouseDownTme.Ticks) / TimeSpan.TicksPerMillisecond; if (milliseconds > 400) { //long press Console.WriteLine("long press"); } else { //short press Console.WriteLine("short press"); } } 编辑: 这段代码有效。真正的问题是我试图在 .NET MAUI Blazor 中执行此操作。我也在正常的 blazor 环境中测试了它,但似乎我在那里犯了一个错误,因为再次测试证明它是有效的。有谁知道我可以在哪里将此问题重新报告给 .NET MAUI Blazor? 您应该使用 OnPointerDown 和 OnPointerUp,它们适用于触摸和鼠标;) GitHub 中的完整示例 您可以组合 @onmousedown 和 @onmouseup: //Code behinde private DateTime time1 { get; set; } private DateTime time2 { get; set; } <li @onmousedown="() => { time1 = DateTime.Now; }" @onmouseup="() => { time2 = DateTime.Now; }"> Click me </li> @if ((time1.Ticks - time2.Ticks)/ TimeSpan.TicksPerMillisecond > 400) { <p>Long press</p> } else { <p>short press</p> } 由于我在使用 MAUI Blazor 时遇到了同样的问题,我终于找到了适合我的解决方案: 我有一些像这样的代码可以在画布元素上绘制: <canvas @onpointerdown=this.OnPointerDown @onpointerout=this.OnPointerOut @onpointerup=this.OnPointerUp @onpointermove =this.OnPointerMove> onpointerdown 和 onpointermove 触发一次,onpointerup 仅在“快速单击”时触发,而无需长按。在 Blazor 服务器应用程序中使用此代码时,一切正常。 长按时似乎会触发其他触摸事件(例如滚动或缩放?)。 最后我将以下 CSS 添加到画布中 touch-action:none; 最终得到这样的代码: <canvas style="touch-action:none;" @onpointerdown=this.OnPointerDown @onpointerout=this.OnPointerOut @onpointerup=this.OnPointerUp @onpointermove =this.OnPointerMove> 这效果很好:-) 我已经为 onlongpress 创建了一个包,所以请尝试一下: https://www.nuget.org/packages/Kebechet.Blazor.EventHandlers.LongPress 文档: https://github.com/Kebechet/Blazor.EventHandlers.LongPress 适用于普通 Blazor 和 Maui Blazor

回答 4 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.