net core mvc 数据绑定 《1》

其它的绑定 跟net mvc 一样

》》MVC core 、framework 一样

1 模型绑定数组类型

2 模型绑定集合类型

3 模型绑定复杂的集合类型

4 模型绑定源

》》》》

模型绑定

使用输入数据的原生请求集合是可以工作的【request[],Querystring,request.from[]】,


但是从可读性和可维护性的角度来看,更好的方法是使用专门的模型来把数据公开给控制器。这种模型有时被称为 【输入模型】。

Asp.net MVC 提供了一个自动绑定层 ,使用内置的规则集将来自各种值提供程序的原始请求数据映射到输入模型类的属性。

作为开发人员,主要负责输入模型类的设计。

Core 模型绑定

FromForm特性

FromForm\]特性告诉模型绑定从提交的表单域中获取值, 模型绑定首先在表单数据中搜索值,因此大多数情况下我们不需要添加这个特性 》》》声明一个Model ```csharp public class Employee { public int Id { get; set; } public string Name { get; set; } } ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/542874f49b1f4d059b83055fc8a34f25.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f4cba6ddd5f443f7addd199c13e3393e.png) #### FromBody ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f4e8aa14f3bf44b4b7578c6d8e3dee5b.png) #### 数据模型 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/09ad49beb4aa41a7ae2af2544548206d.png) ```csharp public Class UserInfo { //增加这个标注 则这个属性不会被绑定 [BindNever] public int Id { get => id; set => id = value; } private string name; private string password; public string Name { get => name; set => name = value; } public string Password { get => password; set => password = value; } //增加这个标注 则这个属性必须被绑定,如果没绑定 控制器中 ModelState.IsValid==false //将 用户名输入框注释,可测试这个标注 [BindRequired] public string Name { get => name; set => name = value; } } ``` ```csharp public IActionResult DoRegister(UserInfo userInfo) { if (ModelState.IsValid==false) { string message=ModelState.Root.Children[0].Errors[0].ErrorMessage; } return View(); } ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/5ac6337b85554c73bd0486c524b65910.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b67afdae7e3540959ea9a402ca9cc78e.png) 其他验证 \[Required\];必填的属性。 \[Compare\]:验证模型中的两个性是否匹配 \[StringLength\]:验证字符串属性的最大长度 [数据验证](https://blog.csdn.net/litao2/article/details/134333383)

相关推荐
while(1){yan}6 小时前
Spring MVC请求基础
java·spring·mvc
稀饭过霍2 天前
【.NET 10.0】使用FluentValidation
c#·mvc·.net
程序员ys5 天前
MVC、MVP、MVVM:用户界面与业务逻辑的解耦
mvc·mvvm·mvp
速易达网络5 天前
基于Java Servlet的用户登录系统设计与实现
java·前端·mvc
北城以北88887 天前
Spring定时任务与Spring MVC拦截器
spring boot·spring·mvc
精神病不行计算机不上班8 天前
[Java Web]Java Servlet基础
java·前端·servlet·html·mvc·web·session
码界奇点8 天前
基于Spring MVC与AngularJS的API接口管理系统设计与实现
spring·毕业设计·yapi·mvc·angular.js·源代码管理
世洋Blog8 天前
数据驱动与MVC
unity·mvc