Benutzer mit den meisten Antworten
MVC5 wie kann ich ermitteln ob ein Controller die angefoderte action hat?

Frage
-
Antworten
-
Ich hoffe, ich habe deine Frage verstanden. Leider ist (wahrscheinlich durch's Bearbeiten) kein richtiger Satz erkennbar.
Das geht grundsätzlich über GetType() bzw. Elemente des Namensraums System.Reflection.
Wenn du ein Objekt hast, das den Controller darstellt (nennen wir es einmal "controller"), dann kannst du einfach mit
bool controllerHasAction = controller.GetType().GetMethod(requestContextParam, (string)RouteData.Values["action"]);
herausbekommen, ob der die gewünschte Action enthält. Type.GetMethod() gibt's auch mit Parameterabfrage. Dann musst du RouteData entsprechend weiter untersuchen.
HTH,
Axel
Still people out there alive using the keyboard?
Working with SQL Server/Visual Studio/Office/Windows and their poor keyboard support they seem extinct...
- Bearbeitet BetterToday Montag, 12. Januar 2015 19:16
- Als Antwort markiert IngoManthey Montag, 12. Januar 2015 19:55
Alle Antworten
-
Ich hoffe, ich habe deine Frage verstanden. Leider ist (wahrscheinlich durch's Bearbeiten) kein richtiger Satz erkennbar.
Das geht grundsätzlich über GetType() bzw. Elemente des Namensraums System.Reflection.
Wenn du ein Objekt hast, das den Controller darstellt (nennen wir es einmal "controller"), dann kannst du einfach mit
bool controllerHasAction = controller.GetType().GetMethod(requestContextParam, (string)RouteData.Values["action"]);
herausbekommen, ob der die gewünschte Action enthält. Type.GetMethod() gibt's auch mit Parameterabfrage. Dann musst du RouteData entsprechend weiter untersuchen.
HTH,
Axel
Still people out there alive using the keyboard?
Working with SQL Server/Visual Studio/Office/Windows and their poor keyboard support they seem extinct...
- Bearbeitet BetterToday Montag, 12. Januar 2015 19:16
- Als Antwort markiert IngoManthey Montag, 12. Januar 2015 19:55