none
MVC5 wie kann ich ermitteln ob ein Controller die angefoderte action hat? RRS feed

  • Frage

  • Hallo NG,

    ich möchte gerne in meiner ControllerFactory noch dem Controller erstellt ist, ob er die im RequestContext angeforderte Action und ggf. Parameter hat. Kann mir jemand dabei helfen?

    Danke im voraus für jeden Hinweis und Tipp.

    Grüße Ingo

    Sonntag, 11. Januar 2015 19:48

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
    Montag, 12. Januar 2015 19:15

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
    Montag, 12. Januar 2015 19:15
  • Hallo,

    danke das war genau das wonach ich gesucht habe!!

    Montag, 12. Januar 2015 19:56