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)

相关推荐
极光雨雨2 天前
Java Spring MVC 中 WebMvcConfigurer 和 HandlerInterceptor之间的关系和用法案例
java·spring·mvc
南部余额5 天前
Spring MVC 拦截器interceptor
java·spring·mvc
QQ12958455046 天前
C# 如何能够创建一个MVC的WEB项目
c#·mvc
天若有情6736 天前
Spring MVC文件上传与下载全面详解:从原理到实战
java·spring·mvc·springmvc·javaee·multipart
艾菜籽6 天前
Spring MVC练习:留言板
java·spring·mvc
William_cl6 天前
【C# MVC 前置】异步编程 async/await:从 “卡界面” 到 “秒响应” 的 Action 优化指南(附微软官方避坑清单)
microsoft·c#·mvc
William_cl6 天前
ASP.NET MVC 前置基础:宿主环境 & HttpRuntime 管道,从部署到流程拆透(附避坑指南)
后端·asp.net·mvc
William_cl8 天前
【C# OOP 入门到精通】从基础概念到 MVC 实战(含 SOLID 原则与完整代码)
开发语言·c#·mvc
William_cl10 天前
一、前置基础(MVC学习前提)_核心特性_【C# 泛型入门】为什么说 List<T>是程序员的 “万能收纳盒“?避坑指南在此
学习·c#·mvc
程序员小凯11 天前
Spring MVC 分布式事务与数据一致性教程
分布式·spring·mvc