Wie kann ich den Namen der Controller-Aktion herausfinden, die meine Ansicht in MVC3 aufgerufen hat?

8

Ich möchte eine Logik in meine Ansichten schreiben, die vom Namen der Controller-Aktion abhängt, die zum Aufruf der Ansicht verwendet wird. Gibt es eine Möglichkeit, diesen Namen herauszufinden?

Hoffe jemand kann mir dabei helfen. Bitte beachten Sie, dass es MVC3 ist, die ich verwende.

    
Marcel 16.05.2011, 13:23
quelle

3 Antworten

12

Nennen Sie den Namen des Controllers

%Vor%

Nennen Sie den Namen der Aktion

%Vor%

Ich habe hier gefunden.

    
Robert Greiner 16.05.2011, 13:27
quelle
5
%Vor%

Während das funktioniert, würde ich vorschlagen, dass es ein wenig unelegant ist. Persönlich würde ich diese Optionen als Flags zu einem ViewModel hinzufügen und das an meine Ansicht übergeben.

    
Rory McCrossan 16.05.2011 13:30
quelle
3

ViewContext.RouteData.Values["action"] kann verwendet werden, aber es ist eine schlechte Entscheidung, solche Dinge entscheiden zu lassen. Sie können Anzeige- und Editor-Vorlagen verwenden, um verschiedene Ansichten zu generieren, und dann Aktion ihre Ansicht auswählen lassen. Ansichten sollten sehr einfach sein und sich auf Daten stützen, die über ViewData oder ihr Modell empfangen werden. Am besten lassen Sie den Controller entscheiden, wie Sie einige Ansichten mit Aktionen unterscheiden können

    
archil 16.05.2011 13:28
quelle

Tags und Links