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)

相关推荐
Niuguangshuo3 小时前
Python设计模式:MVC模式
python·设计模式·mvc
电商api接口开发18 小时前
ASP.NET MVC 入门指南
c#·asp.net·mvc
酷ku的森1 天前
Spring Web MVC入门
spring·mvc
风,停下1 天前
C#基于Sunnyui框架和MVC模式实现用户登录管理
设计模式·c#·mvc
bing_1582 天前
一个 HTTP 请求进入 Spring MVC 应用后,大致经历了哪些主要步骤?
spring·http·mvc
电商api接口开发3 天前
ASP.NET MVC 实现增删改查(CRUD)操作的完整示例
后端·asp.net·mvc
CF14年老兵3 天前
MVC 应用程序中使用 FluentValidation 进行验证的重要性
性能优化·mvc·.net
葵续浅笑3 天前
Spring之我见 - Spring MVC重要组件和基本流程
java·spring·mvc
王有品4 天前
Spring MVC 一个简单的多文件上传
java·spring·mvc
王有品4 天前
Spring MVC 核心注解与文件上传教程
java·spring·mvc