Routing
→URL's auf Actions nach festgelegten Mustern aufbauen.
Allgemeine Infos dazu hier:http://msdn.microsoft.com/en-us/library/cc668201.aspx
Mit den Grundeinstellungen ordnet ein Webserver einem URL immer eine Dateiressource zu (HTML-File).
In MVC ist diese Zuordnung zu grob. Hier muss über einen URL die Action- Methode eines Controllers ausgewählt und parametriert werden.
Dies wird durch die Definition von Routen erreicht.
Die Routen werden definiert im App_Start- Verzeichnis unter RouteConfig.cs. Die Definitionen erfolgen Mittels der MapHttpRoute - Methode des globalen Objektes routes . Dabei ist mindestens ein Name für die Route, sowie ein URL- Muster zu definieren. URL Muster bestehen aus Segmenten, die durch / getrennt sind:
SEGMENT1/SEGMENT2/.../SEGMENTnSegmente können feste Werte oder Platzhalter sein. Die Paltzhalter werden dabei in geschweifte Klammern gesetzt:
SEGMENT1/{PLATZHALTER1}/.../SEGMENTnEin Muster wird wie folgt auf eine URL gemapt:
- Übereinstimmende Segmente in URL und Muster werden einander zugeordnet. Die Reihenfolge im Muster darf dabei nicht verletzt werden
- Korrespondieren Platzhalter mit noch nicht zugeordneten Segmenten der URL, dann werden diese Segmente als Textwerte in einem Dictionary eingetragen, wobei der Bezeichner des Platzhalters der Schlüssel ist
-
Die MVC- Laufzeit sucht in dem Dictionary mindestens zwei Einträge:
- Eintrag unter dem Schlüssel controller: Der Wert wird der String Controller angehängt. Er stellt den Namen der Controllerklasse dar
- Eintrag unter dem Schlüssel action: Der Wert ist der Name der Action- Methode innerhalb der Controller- Klasse.
- Platzhalter, die nach dem Platzhalter für die Action- Methode folgen, stehen für die Parameter der Action- Methode. Die Bezeichner der Platzhalter müssen mit den Parameternamen übereinstimmen.
routes.MapRoute( name: "MyRoute1", url: "{controller}/{action}/{translation}" );