当前位置: 首页 > news >正文

net core mvc 数据绑定 《1》

其它的绑定 跟net mvc 一样

》》MVC core 、framework 一样

1 模型绑定数组类型

2 模型绑定集合类型

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

4 模型绑定源
》》》》

模型绑定

使用输入数据的原生请求集合是可以工作的【request[],Querystring,request.from[]】,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

但是从可读性和可维护性的角度来看,更好的方法是使用专门的模型来把数据公开给控制器。这种模型有时被称为 【输入模型】。
Asp.net MVC 提供了一个自动绑定层,使用内置的规则集将来自各种值提供程序的原始请求数据映射到输入模型类的属性。
作为开发人员,主要负责输入模型类的设计。

Core 模型绑定

在这里插入图片描述

FromForm特性

[FromForm]特性告诉模型绑定从提交的表单域中获取值,
模型绑定首先在表单数据中搜索值,因此大多数情况下我们不需要添加这个特性

》》》声明一个Model

public class Employee
{public int Id { get; set; }public string Name { get; set; }
}

在这里插入图片描述
在这里插入图片描述

FromBody

在这里插入图片描述

数据模型

在这里插入图片描述

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; }
}
        public IActionResult DoRegister(UserInfo userInfo){if (ModelState.IsValid==false){string message=ModelState.Root.Children[0].Errors[0].ErrorMessage;}return View();}

在这里插入图片描述
在这里插入图片描述

其他验证

[Required];必填的属性。
[Compare]:验证模型中的两个性是否匹配
[StringLength]:验证字符串属性的最大长度

数据验证

相关文章:

  • 基于php摄影门户网站
  • Springboot+PostgreSQL+MybatisPlus存储JSON或List、数组(Array)数据
  • 机器学习(2):机器学习的相关术语
  • .Net 6.0 监听Windows网络状态切换
  • [CSP-J 2022] 解密
  • LeetCode 热题 100 回顾8
  • 智能红外抄表系统的设计与实现(论文+源码)_kaic
  • iTextPDF中,要实现表格中的内容在数据长度超过边框时自动换行
  • 组合优化与凸优化 学习笔记5 对偶拉格朗日函数
  • 开放原子开源基金会网站上的开源项目Opns存在缓冲区溢出缺陷
  • 设计模式之模版方法模式
  • 【Linux系列】CMA (Contiguous Memory Allocator) 简单介绍
  • 【QT Quick】基础语法:基础类与控件
  • 【分页】Spring Boot 列表分页 + javaScript前台展示
  • 程序员如何提升并保持核心竞争力?——深入钻研、广泛学习与软技能的培养
  • SegmentFault for Android 3.0 发布
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • avalon2.2的VM生成过程
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • ES6核心特性
  • Git同步原始仓库到Fork仓库中
  • JavaWeb(学习笔记二)
  • KMP算法及优化
  • Laravel Telescope:优雅的应用调试工具
  • Python socket服务器端、客户端传送信息
  • Vue2.x学习三:事件处理生命周期钩子
  • 成为一名优秀的Developer的书单
  • 从PHP迁移至Golang - 基础篇
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 那些被忽略的 JavaScript 数组方法细节
  • 微信开放平台全网发布【失败】的几点排查方法
  • 小程序开发中的那些坑
  • 智能合约Solidity教程-事件和日志(一)
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • #每天一道面试题# 什么是MySQL的回表查询
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (ros//EnvironmentVariables)ros环境变量
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (利用IDEA+Maven)定制属于自己的jar包
  • (十一)手动添加用户和文件的特殊权限
  • (实测可用)(3)Git的使用——RT Thread Stdio添加的软件包,github与gitee冲突造成无法上传文件到gitee
  • (五)IO流之ByteArrayInput/OutputStream
  • (一一四)第九章编程练习
  • (转)菜鸟学数据库(三)——存储过程
  • *上位机的定义
  • .net core 使用js,.net core 使用javascript,在.net core项目中怎么使用javascript
  • .NET Core引入性能分析引导优化
  • .NET HttpWebRequest、WebClient、HttpClient
  • .Net(C#)自定义WinForm控件之小结篇