AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

ASP.NET MVC 模型绑定

  • 2012-02-14
  • 本文字数:699 字

    阅读完需:约 2 分钟

模型绑定(Model Binding)特性使用请求数据来创建强类型对象,以此简化控制器的动作。 Jess Chadwick 在 MSDN 上的一篇文章中深入探索了该特性,并研究了复杂的场景,包括缺省模型绑定器不满足要求时如何定制。

ASP.NET MVC 模型绑定是什么?它让下面这段代码:

复制代码
public ActionResult Create()
{
var product = new Product() {
AvailabilityDate = DateTime.Parse(Request["availabilityDate"]),
CategoryId = Int32.Parse(Request["categoryId"]),
Description = Request["description"],
Kind = (ProductKind)Enum.Parse(typeof(ProductKind),
Request["kind"]),
Name = Request["name"],
UnitPrice = Decimal.Parse(Request["unitPrice"]),
UnitsInStock = Int32.Parse(Request["unitsInStock"])
}
};

可以这样写:

复制代码
public ActionResult Create(Product product)
{
// ...
}

ASP.NET 会自动将查询字符串参数名称与强类型对象中的属性名称相对应。这也支持 JSON 的 post 值。模型绑定支持更复杂的状况,比如集合与嵌套对象,不过在使用集合时你必须小心语法(其中要使用索引器来表示集合中的数据项)。

某些情况下,读者可能希望使用自定义的模型绑定器,以扩展现有的模型绑定器。常用的例子是将接口与抽象类绑定,这需要与下层业务模型的高度耦合,因为在运行时,绑定器需要基于请求数据选择特定实现。Jess 的文章展示了如何实现,只需继承DefaultBindingProvider,并重载需要的行为。想知道如何对自定义的模型绑定期进行单元测试,可参考 Scott Hanselmann 的文章《分割DateTime——对ASP.NET MVC 的模型绑定器进行单元测试》。

查看英文原文: ASP.NET MVC Model Binding

2012-02-14 14:372242
用户头像

发布了 479 篇内容, 共 172.1 次阅读, 收获喜欢 52 次。

关注

评论

发布
暂无评论
发现更多内容

UML 练习 食堂就餐卡

Mr.hou

极客大学架构师训练营

String五连杀!

Bruce Duan

Java string equals

食堂就餐卡系统架构设计文档

竹森先生

极客大学 架构设计 极客大学架构师训练营

小师妹学JavaIO之:文件编码和字符集Unicode

程序那些事

io nio Java 25 周年 小师妹

架构师训练营第一周总结

小小杨

极客大学架构师训练营

Week 01 学习总结

卧石漾溪

极客大学架构师训练营

小师妹学JavaIO之:文件写入那些事

程序那些事

Java io nio Java 25 周年 小师妹

「架构师训练营」第 1 周作业 - 食堂就餐卡系统设计

旭东(Frank)

架构 极客大学架构师训练营 作业

快速复制文件rsync、tar

唯爱

架构师训练营 听课总结 -- 第一周

fujin

极客大学架构师训练营

源码分析 | 手写mybait-spring核心功能(干货好文一次学会工厂bean、类代理、bean注册的使用)

小傅哥

spring 源码 源码分析 小傅哥 mybatis

小师妹学JavaIO之:文件File和路径Path

程序那些事

Java io nio Java 25 周年 小师妹

Chaos is a ladder——近期工作体会

石君

职场 职场成长 工作体会

Char和编码

Hello

Java

食堂就餐卡系统设计

Z冰红茶

架构师训练营 第一周 作业 食堂就餐卡系统设计

一雄

极客大学架构师训练营 作业 第一周

游戏夜读 | vim一份极简手册

game1night

架构师训练营-作业1-食堂就餐卡系统设计

狂奔嘀兔纸

极客大学架构师训练营

架构师训练营第一周总结

一剑

架构师训练营 作业 -- 第一周

fujin

极客大学架构师训练营

Week1 总结

TiK

极客大学架构师训练营

ARTS-第一周

爱睡的猫

架构师0期作业-20200606

caibird1984

极客大学架构师训练营

食堂就餐卡系统设计

极客李

小师妹学JavaIO之:目录还是文件

程序那些事

Java io nio Java 25 周年 小师妹

食堂就餐卡系统概要设计

小小杨

极客大学架构师训练营

搞定 HTTP 协议(二):HTTP 协议总览

零和幺

HTTP

迷宫的生成: DFS与BFS算法的实现

lmymirror

DFS 迷宫 Cocos Creator BFS

01学习总结

赵龙

小师妹学JavaIO之:文件读取那些事

程序那些事

Java io nio Java 25 周年 小师妹

Kafka系列10:面试题是否有必要深入了解其背后的原理?我觉得应该刨根究底(下)

z小赵

大数据 kafka 面试 实时计算

ASP.NET MVC模型绑定_Web框架_Roopesh Shenoy_InfoQ精选文章