В одной из моих контроллеров + пары действий я получаю значения другого контроллера и действия как строки откуда-то, и я хочу перенаправить свое текущее действие. Прежде чем делать перенаправление, я хочу убедиться, что в моем приложении существует действие controller + action, если нет, то перенаправление на 404. Я ищу способ сделать это.
public ActionResult MyTestAction()
{
string controller = getFromSomewhere();
string action = getFromSomewhereToo();
/*
At this point use reflection and make sure action and controller exists
else redirect to error 404
*/
return RedirectToRoute(new { action = action, controller = controller });
}
Все, что я сделал, это, но это не работает.
var cont = Assembly.GetExecutingAssembly().GetType(controller);
if (cont != null && cont.GetMethod(action) != null)
{
// controller and action pair is valid
}
else
{
// controller and action pair is invalid
}