【发布时间】:2012-04-27 00:15:08
【问题描述】:
我为我的 MVC3 应用程序创建了一个带有 Http400To404 ActionResult 的 ErrorController。
Route 测试器匹配特定的路由。尽管如此,我收到一条错误消息:
“在控制器 'Xxxxxx.Yyyyyyyyy.Zzzzzz.Controllers.ErrorController' 上找不到公共操作方法 'http400to404'。
以下是url的代码:
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
string url = "~/Error/Http400To404?Exception=System.Exception%3A%20Failed%20to%20authorized% 20the%20request".ToLower();
filterContext.Result = new RedirectResult(url);
}
以下是ErrorController类:
public class ErrorController : Controller
{
[HttpGet]
[HttpPost]
public ActionResult Http400To404(Exception e)
{
....
}
...
}
我相信它正确地找到了控制器,但由于某种原因,动作结果没有被拾取。我尝试了以下方法使 URL 无济于事:
string url = urlHelper.RouteUrl("ErrorDefault",
new RouteValueDictionary { { "Exception", (new Exception("Failed to authorized the request.")).ToString() },
{"controller","Error"},
{"action", "Http400To404"}});
感谢您提供的任何帮助。 谢谢, E.
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-routing