如何处理 MVC 中的无效 URL?
例如:当用户输入http://localhost/User/MyProfile而不是 http://localhost/User/Profile时,它会抛出异常。
如何处理这个请求?
如何处理 MVC 中的无效 URL?
例如:当用户输入http://localhost/User/MyProfile而不是 http://localhost/User/Profile时,它会抛出异常。
如何处理这个请求?
您需要首先在 web.config 中添加自定义错误页面 url:
<customErrors mode="On" defaultRedirect="~/Error/404" />
并添加一个控制器来处理无效的 url:
public class ErrorController:Controller
{
[ActionName("404")]
public ActionResult Error404()
{
return View("Error");
}
}
如果您想将用户重定向到主页,那么您不需要错误控制器,只需修改自定义错误标签:
<customErrors mode="On" defaultRedirect="~/Home/Index" />
你是这个意思吗?
// Show a 404 error page for anything else.
routes.MapRoute("Error", "{*url}",
new { controller = "Error", action = "404" }
);
我认为每个请求都应该重定向到前端控制器,因此将您的代码包装在将拦截异常的 try/catch 块中,也许您可以在 catch 块中重定向到主页,或者简单地使用异常处理程序引发 404 错误.
你的服务器语言是什么?