我想要找到404页面没有找到我去创建的一个漂亮的小性感页面 让我们先从第1步开始。
1) ---------
我的共享视图文件夹中有Error.chstml
。
2) ---------
我已添加:
<customErrors mode="On" />
到system.web
第3)----------
我已添加:
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
到我的Global.asax ApplicationStart方法,并使用以下代码将FilterConfig.cs文件添加到App Start文件夹中:
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
}
4)------------
然后我尝试将其添加到customErrors XML:
<customErrors mode="On" defaultRedirect="/Error" />
5)--------------
我曾尝试创建自己的ErrorController并使用我的路由重定向到它......但它们永远不会被解雇:
routes.MapRoute(
"404-PageNotFound",
"{*url}",
new { controller = "Error", action = "Error404" }
);
...
public class ErrorController : Controller
{
[AcceptVerbs(HttpVerbs.Get)]
public ViewResult Error404()
{
return View();
}
}
这仍然会返回丑陋的Web 1.0错误页面:):HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
我做错了什么????我认为需要花费20秒的东西最终需要花费2小时lol
答案 0 :(得分:0)
使用您当前的路线,它将无法重定向到该Error404
操作方法。首先删除404-PageNotFound
路由。然后将Error404
方法重命名为Index
。别忘了重命名视图。
public class ErrorController : Controller
{
public ViewResult Index()
{
return View();
}
}
现在,当用户像您指定的web.config一样被重定向到http://example.org/Error时,将调用此操作方法。