开发基础Blazor表单时提示缺少指令或程序集引用如何解决?
报错解决方案
你遇到的报错核心是未定义_ExampleForm类型,你的理解存在偏差:private _ExampleForm _exampleForm = new();是C#字段定义语法,第一个位置_ExampleForm是字段的类型,不是命名空间,没有预先定义该类型就会触发找不到类型/命名空间的报错。
按以下步骤操作即可解决:
- 第一步:在项目中新增
_ExampleForm模型类,你可以在项目内新建Models目录,新增ExampleForm.cs文件,代码如下:
using System.ComponentModel.DataAnnotations; // 命名空间按你自己的项目规则调整即可 namespace YourProjectName.Models { public class _ExampleForm { [Required(ErrorMessage = "名称不能为空")] public string Name { get; set; } } }
将代码中的YourProjectName替换为你的实际项目名称。
- 第二步:在你的Blazor页面顶部添加模型的命名空间引用:
@using YourProjectName.Models
- 第三步:兼容低版本C#语法。你使用的.NET Core 3.0默认对应C# 8.0版本,目标类型推断的
new()简写是C# 9.0才支持的特性,将报错行修改为完整初始化写法即可:
private _ExampleForm _exampleForm = new _ExampleForm();
修改完成后重新生成项目,报错即可消除,表单绑定、验证功能可正常运行。
内容的提问来源于stack exchange,提问作者MattHodson
相关产品推荐
相关产品推荐

