如何使用MVC3重定向到“找不到页面”?

时间:2011-07-30 11:50:30

标签: asp.net-mvc model-view-controller asp.net-mvc-3 asp.net-mvc-routing

我在谷歌有一些链接,我现在不再期望工作了。所有链接都是这样的:

www.abc.com/xx/que=xxxxxxxxxxx

x可以是任何东西。

有人可以告诉我如何设置路由和控制器操作,将404返回谷歌吗?我想我需要用一个包含“que”的面具来设置它,但我不太确定如何做到这一点。

1 个答案:

答案 0 :(得分:2)

向global.asax的顶部添加新路由。这将使用正则表达式捕获xx/que={anything}形式的请求以定义“que”参数。

routes.MapRoute(
    "PageNotFound", 
    "xx/{que}",
    new { controller = "Error", action = "NotFound" },
    new { que = "que=.*" });

这也假设您在/ Views / Error /目录中有ErrorController个动作NotFound和相应的名为NotFound.aspx的视图。

public class ErrorController : Controller
{
    public ActionResult NotFound()
    {
        Response.StatusCode = 404;
        return View();
    }
}