• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/3

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

3 Cards in this Set

  • Front
  • Back
Model Binding im MVC Framework
1. Eingehender Request
2. Das RoutingSystem legt die Request Variablen in RoutData ab.
3. Die ControllerFactory erzeugt eine neue Instanz der Controller-Klasse mit dem Namen aus der Request Variable "controller".
4. Der ActionInvoker sucht in der Controller-Instanz nach einer Action Methode mit dem Namen aus der Request Variable "action" und führt diese aus. Dabei verwendet der ControllerActionInvoker (der Default Action Invoker im Framework) MODEL BINDING, um die Parameter der Action Methode aus den Request Variablen zu generieren.
DefaultModelBinder
Die Default-Implementierung im MVC Framework, der DefaultModelBinder, geht folgender Maßen vor, um eine Action-Methode ausführen zu können.

1. Enthält die Action-Methode keine Parameter, so kann sie direkt ausgeführt werden.

2. Ansonsten sucht der DefaultModelBinder für jeden Parameter der Action-Methode im Request nach
I. Request.Form (den Elementen eines Formulars)
II. RouteData.Values (den Route Variablen aus der Application Route)
III. Request.QueryString (den QueryString Variablen aus der URL)
IV. Request.Files

Damit die Action-Methode erfolgreich ausgeführt werden kann, muss für alle nicht-nullable Parameter, die nicht einen Default-Wert haben, ein passender Wert gefunden werden. Ansonsten wird eine Exception geworfen und die Methode wird nicht ausgeführt.

Damit die Zuordnung der Variablen zu den Parametern erfolgreich ist, müssen die Bezeichnungen identisch beider identisch sein.

Der DefaultModelBinder ist auch in der Lage, komplexe Objekte als Parameter zu generieren. Dafür benötigt er für alle Properties dieses Objektes eine passende Variable aus dem Request. (Das ganze funktioniert auch geschachtelt, wobei bei der Bezeichnung das Mutter-Attribut als Präfix angegeben wird, z.B. HomeAdress.City)

Der ModelBinder wandelt bei der Generierung der Parameter String-Werte in Objekte von verschiedenen Typen um. Bei Variablen aus Formularen wird dabei die Culture des Servers verwendet. Alle anderen Variablen werden Culture-Insensitive verarbeitet.
Customizing the Model Binder System
Ein Model Binder kann auch selbst geschrieben werden.