2013-07-18 10 views
12

Was ist Modellbindung in ASP.NET MVC, warum wird es benötigt? Kann jemand ein einfaches Beispiel geben, kann eine Modellbindung erreicht werden, indem man eine stark typisierte Ansicht erstellt?Was ist Modellbindung in ASP.NET MVC?

+0

prüft dies: http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/creating-an -entity-framework-data-model-for-a-asp-net-mvc-application – FSou1

+0

Es ist notwendig für die Trennung von Anliegen und um Dinge mehr OOP-Art zu machen. – DarthVader

+0

mögliches Duplikat von [ASP.NET MVC 3 Model Binding Resources] (http://stackoverflow.com/questions/5692964/asp-net-mvc-3-model-binding-resources) – CodeCaster

Antwort

17

ModelBinding ist der Mechanismus, mit dem ASP.NET MVC stark typisierte Objekte (oder primitive Parameter) aus dem Eingabestream erstellt (normalerweise eine HTTP-Anforderung).

Betrachten wir zum Beispiel dieses Person Modell:

public class Person 
{ 
    public string Name { get; set; } 
    public int Age { get; set; } 
} 

Nun haben Sie einige Action in einigen Controller, die einen Person Typ als Parameter hat erwartet:

public class HomeController : Controller 
{ 
     public ActionResult EditPersonDetails(Person person) 
     { 
      // ... 
     } 
} 

Die Model-Binder wird dann verantwortlich füllen Sie diesen Parameter für Sie. Standardmäßig erfolgt dies durch Abfrage der ValueProviders Sammlung und Abfrage nach dem Wert jeder Eigenschaft im (zu bindenden) Modell.

Mehr Value-Provider und Model Binder auf http://haacked.com/archive/2011/06/30/whatrsquos-the-difference-between-a-value-provider-and-model-binder.aspx/

Verwandte Themen