小编Isa*_*aac的帖子

如何在服务器端 Blazor 中使用 HttpContext 对象来检索有关用户、用户代理的信息

IP 地址等。通常,当用户询问如何在 Server Blazor 应用程序中执行此操作时,他们要么被告知这是不可能的,要么有时会提供使用 JSInterop 的部分解决方案。但是可以在不诉诸 JSInterop 的情况下完成吗?这是答案...

blazor blazor-server-side

14
推荐指数
1
解决办法
9328
查看次数

使用 Jwt 令牌身份验证在 Blazor 服务器应用程序中自定义 AuthenticationStateProvider

我注意到许多开发人员在 Blazor Server App 和 Blazor WebAssembly App 中错误地将 AuthenticationStateProvider 子类化,并且更重要的是出于错误的原因。

如何正确地做,什么时候做?

asp.net-web-api asp.net-core blazor blazor-server-side blazor-client-side

7
推荐指数
1
解决办法
3802
查看次数

EditForm - 如何防止按回车键提交

我找到了这篇文章,但我很难理解如何防止任何人独立提交“输入”键<input>

<EditForm Model="exampleModel" OnValidSubmit="HandleValidSubmit">
    <DataAnnotationsValidator />
    <ValidationSummary />

    <InputText id="name" @bind-Value="exampleModel.Name" />
    <InputText id="name2" @bind-Value="exampleModel.Name2" />

    <button type="submit">Submit</button>
</EditForm>
Run Code Online (Sandbox Code Playgroud)
@code {
    private ExampleModel exampleModel = new ExampleModel();

    private void HandleValidSubmit()
    {
        Console.WriteLine("OnValidSubmit");
    }

    public class ExampleModel
    {
         [Required]
         [StringLength(10, ErrorMessage = "Name is too long.")]
         public string Name { get; set; }
         public string Name2 {get; set;}
    }
}
Run Code Online (Sandbox Code Playgroud)

用例

Enter 键 在 HTML 表单上,如果您正在填写文本框并按 Enter 键,它将提交表单,即使您尚未完成其余信息的填写。有许多网站使用此功能,例如 Google 搜索框会在您按 Enter 键时提交。这是有效的,因为您只有一个文本框要填写,但如果要填写的字段不止一个,您不希望表单按回车键提交。

blazor

6
推荐指数
2
解决办法
4350
查看次数

如何将 ASPNETUsers 表的名称更改为 User?

我正在使用 ASP.NET Core 创建的默认身份验证系统,我想知道吗?

  1. 如何将表的名称更改ASPNETUsersUser

  2. 如何将以下属性添加到表中:public string DisplayName {get; set;}

  3. 如何将RemoteAttribute属性添加到 Email 属性

  4. 如果我有一些属性,那么创建另一个名为 Profile 的表并与 ASPNETUsers 表具有一对一的关系是个好主意吗?

谢谢...

entity-framework entity-framework-core asp.net-core

5
推荐指数
1
解决办法
1649
查看次数

在单个解决方案中创建多个 WebAssembly 项目

请参阅此问题的上下文 以及 MrC aka Shaun Curtis 的答案

这个问题是关于我过去试图解决但没有取得巨大成功的事情。您熟悉 我曾经下载并运行的这个示例吗?它不起作用。然后我意识到我必须将基本url添加到浏览器地址栏中的url中才能运行第一个项目,例如:https://localhost: 44302/FirstApp即Client项目。对于 SecondClient 来说应该是https://localhost: 44302/SecondApp这正是MrC aka Shaun Curtis的示例应用程序的工作原理,尽管他添加了 Razor Pages 应用程序来提供用于重定向到四个项目的菜单。

我尝试将第一个托管的 WebAssemby 前端项目设置为默认项目,但没有取得多大成功;那是当我运行应用程序或在地址栏中键入时https://localhost: 44302.,如果我键入,https://localhost: 44302/FirstApp我会看到我添加到解决方案中的第一个独立 WebAssembly 项目。第二个项目、第三个项目等等,都是 WebAssembly 项目。我无法这样做:当我运行默认项目时,一切都很好...我可以在项目范围内导航,路由到 Counter 页面、FetchData 页面等。

但是,当我将段 /FirstApp 添加到地址栏中的 url 并按 Enter 键时,路由器会显示消息“抱歉,该地址没有任何内容”。而不是导航到基本 url /FirstApp/ 表示的项目

这里有人知道如何实现我正在寻找的所需功能吗?

blazor blazor-webassembly hosted-blazor-webassembly

4
推荐指数
1
解决办法
2508
查看次数

不支持 WebClient

尝试WebClient在 Blazor 项目中使用。

得到以下错误:

blazor.webassembly.js:1

WASM: System.Net.WebException: An exception occurred during a WebClient request.
Run Code Online (Sandbox Code Playgroud)
System.PlatformNotSupportedException: Operation is not supported on this platform.
Run Code Online (Sandbox Code Playgroud)

如何在 Blazor 中进行 API/网络调用?

blazor

2
推荐指数
1
解决办法
2003
查看次数

在 Blazor SPA 上嵌入 Leaflet 地图

如何在 Blazor SPA 上嵌入 Leaflet 地图、使用 JSInterop、应定义哪些对象以及如何将表示在地图上单击的位置的数据从 JavaScript 传递到 Blazor

leaflet blazor blazor-server-side blazor-client-side blazor-webassembly

1
推荐指数
1
解决办法
6501
查看次数