asp.net mvc url routing(禁止访问/ index和查询字符串

时间:2014-09-17 13:18:04

标签: asp.net asp.net-mvc asp.net-mvc-4 razor

假设我们有以下控制器代码并默认为Home / Index,我有一个域www.abc.com。

如何配置www.abc.com/home和www.abc.com/home/index为404页

 public HomeController : Controller {
        public ActionResult Index() {
        }
    }

另外假设我有这样的控制器,我假设用户可以按照以下方式访问它。 www.abc.com/home/index/1或使用查询字符串www.abc.com/home/index/?id = 1.我想为此网址显示404页面:www.abc.com/home/index /?id = 1.如何做到这一点?

public HomeController : Controller {
        public ActionResult Index(string id) {
        }
    }

1 个答案:

答案 0 :(得分:0)

在您的RouteConfig.RegisterRoutes方法中,这会使/home/home/index显示404:

routes.MapRoute(
    name: "Home",
    url: "",
    defaults: new { controller = "Home", action = "Index" });

此路线将允许/home/index/1,但/home/index/?id=1将为404:

routes.MapRoute(
    name: "Home",
    url: "home/index/{id}",
    defaults: new { controller = "Home", action = "Index" });

这是ASP.NET MVC中非常基本的路由。我建议阅读一些文档,以获取更多信息。

http://msdn.microsoft.com/en-us/library/vstudio/cc668201(v=vs.100).aspx