在action 中可以有两种方法来绑定提交的数据,
一种是直接在 action 方法中接收已绑定的model 参数,比如这样:
public ActionResult AddProduct(Product product) { ... }
第二种是在方法中使用UpdateModel方法来绑定,比如这样:
public ActionResultAddProduct() {
Product _product = new Product();
UpdateModel(_product);
}
问题是:这两种方式有什么本质区别?第二种方式有什么好处?什么情况下使用第二种方式?
我的asp.net mvc知识都是从网上获取的。讲的都是怎样使用UpdateModel方法,却没讲为什么要使用UpdateModel方法。所以我就想:第一种方式不是更简单方便吗,为什么要用UpdateModel呢?
其实差不多,但第一种实现起来代码量更大,但可以复用
对于复杂类型,第一种方式要实现ModelBinder
UpdateModel支持前缀式(当然,适当编辑后第一种方法也可以实现,但要自己写)
如
name="n.Title"
name="n.Content"
我比较 ,推荐用ModelBinder方式