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; }
}


FromBody

数据模型

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();
        }


其他验证

Required;必填的属性。

Compare:验证模型中的两个性是否匹配

StringLength:验证字符串属性的最大长度

数据验证

相关推荐
摇滚侠12 小时前
Spring MVC 不是一个单独的框架,是 Spring 框架的一个模块
java·spring·mvc
我登哥MVP2 天前
Spring Boot 从“会用”到“精通”:SpringBoot MVC 请求处理全流程
java·spring boot·后端·spring·mvc·maven·intellij-idea
摇滚侠3 天前
JavaWeb 全套教程 MVC 模式 93
mvc
代码的小搬运工4 天前
【iOS】MVC架构
ios·架构·mvc
qq_2518364575 天前
基于MVC的学校食堂点餐管理系统的设计与实现
mvc
故渊at6 天前
系列一:架构思想进阶 | 第1篇 Android 架构演进实录:从 MVC 的“万能类”到 MVVM 的数据驱动
android·架构·mvc
RR13356 天前
Spring MVC and Spring Gateway 的差异,以及报错处理
spring·gateway·mvc
gCode Teacher 格码致知7 天前
AspNet Mvc教学:Route路由切换-由Deepseek产生
mvc
gCode Teacher 格码致知8 天前
Asp.net Mvc教学: Url.Encode及Html.Encode的区别和联系-由Deepseek产生
asp.net·mvc
sakiko_12 天前
Swift学习笔记34-MVC架构,SwiftUI与UIkit混编练习
笔记·学习·swiftui·mvc·swift