The Logical Model Designer - Binding Information Models to Terminology
Model binding
-
Upload
learningtech -
Category
Technology
-
view
283 -
download
0
Transcript of Model binding
![Page 1: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/1.jpg)
ASP.NET MVC Model BinderJason
![Page 2: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/2.jpg)
Class map
![Page 3: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/3.jpg)
Agenda
Default Model Binder FormCollection Model Binder HttpPostedFileBase Model Binder Binding Attribute Custom Model Binder
![Page 4: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/4.jpg)
Model Binder
![Page 5: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/5.jpg)
Default Model Binder
The DefaultModelBinder class maps the following types of objects to a browser request.
Primitive types, such as String , Double, Decimal , or DateTime objects.
Collections, such as ICollection<T>, IList<T>, or IDictionary<TKey, TValue>.
Model classes, such as Person, Address, or Product.
![Page 6: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/6.jpg)
Binding To Primitive Values
Controller:
View:
![Page 7: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/7.jpg)
Binding To Simple Objects
![Page 8: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/8.jpg)
Binding To Collection Of Objects
Controller:
View:
![Page 9: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/9.jpg)
FormCollection Model Binder
UpdateModel Syntax
example
![Page 10: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/10.jpg)
Formcollection Model Binder
UpdateModel Syntax
example
![Page 11: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/11.jpg)
HttpPostedFileBase Model Binder
View:
Controller:
![Page 12: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/12.jpg)
Binding Attribute
Include Gets or sets a comma-delimited list of property names for which
binding is allowed.
Exclude Gets or sets a comma-delimited list of property names for which
binding is not allowed.
![Page 13: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/13.jpg)
Binding Attribute
![Page 14: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/14.jpg)
Custom Model Binder
Step1 You bind your custom object by implementing
the IModelBinder interface.
![Page 15: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/15.jpg)
Custom Model Binder
Step2 After creating your binder, you need to register
the binder. In Application_Start().
![Page 16: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/16.jpg)
Custom Model Binder
PersonModelBinder
Submit
Binding
![Page 17: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/17.jpg)
Custom Model Binder
The first is by decorating the model class
![Page 18: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/18.jpg)
Custom Model Binder
The second is decorating the parameter of your Action Method directly:
![Page 19: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/19.jpg)
Summary
Easy Flexible Customize
![Page 20: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/20.jpg)
Q & A
![Page 21: Model binding](https://reader035.fdocuments.net/reader035/viewer/2022062220/55b9acb3bb61ebe1038b4798/html5/thumbnails/21.jpg)
Reference
ASP.NET MVC4 http://
www.amazon.com/ASP-NET-MVC-Action-Jeffrey-Palermo/dp/1617290416
MSDN http://msdn.microsoft.com/zh-tw/library/system.web.mvc.de
faultmodelbinder(v=vs.108).aspx
Code Project http://
www.codeproject.com/Articles/551576/ASP-NET-MVC-Model-Binding-and-Data-Annotation