на ASP.NET MVC 5 У меня есть следующий контроллер:Никаких действий не найдены в контроллере
[Route("500", Name="InternalError"), HttpGet]
public virtual ActionResult Internal() {
ErrorInternalModel model = new ErrorInternalModel("Internal error")
Response.StatusCode = (Int32)HttpStatusCode.InternalServerError;
return View(model);
} // Internal
На моей HandleErrorModule я следующее:
public void Init(HttpApplication application) {
RouteData data = new RouteData();
data.Values["controller"] = "error";
data.Values["action"] = "internal";
((IController)new ErrorController()).Execute(new RequestContext(new HttpContextWrapper(application.Context), data));
}
Я получаю ошибку:
Исключение типа «System.Web.HttpException» произошло в System.Web.Mvc.dll, но не было обработано в коде пользователя
Дополнительная информация: Открытый метод действия 'internal' не найден на контроллере 'MVCPRJ.ErrorController'.
Я был в состоянии отобразить вид, используя следующие:
System.Web.HttpContext c = System.Web.HttpContext.Current;
c.RewritePath("/500", false);
c.Server.TransferRequest("/500", true);
Так маршрут существует ...
Проблема заключается в том, как я это нужно иметь маршрут жестко закодированных в модуле.
Я хотел бы получить маршрут от действия ...
Я также пытался получить его по имени. Обратите внимание, что название маршрута «InternalError» ...
Но не повезло ... Любая идея, как это решить?
Спасибо, Miguel
случае чувствительности? 'internal' vs' Internal'? – Jamiec
Нет, я попробовал оба и не работал ... –