asp.net网址路由问题

时间:2012-09-27 14:15:06

标签: asp.net asp.net-mvc url-routing

控制器中的索引函数有三个参数,比如'a','b','c'。目前我可以将值传递给url中的那些参数,例如action?a =“1”&'b'= 2&'c'= 3。

我想在形式action /“value”或action / b =“value”的url中向param'b'发送值。我尝试在Global.asax.cs中编辑路由,但是我收到错误“找不到路径的控制器或者没有实现iController”。对此问题的任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

您应该以这种方式将此构建到global.asax中的路由表中:

RouteTable.Routes.Add(new Route
{
    Url = "[controller]/[action]/[a]/[b]/[c]",
    Defaults = new { controller = "myController", action = "myAction", a = "1", b = "2", c = "3" },
    RouteHandler(typeof(MvcRouteHandler)
});

要将其分解,Url参数会显示预期Url的结构,defaults参数会为可能为空的任何内容提供默认值。请注意,这将始终指向myDomain.com/myController/myAction/1/2/3或类似myDomain.com/myController/myAction///之类的结构的路线。如果您需要具有这些值的不同子集,则需要相应地调整路径。此外,您需要确保此路线在路线定义中很早出现。路由由它找到的第一个匹配路由确定,因此更复杂(更难到达)的路由应该总是提前,以允许默认路由捕获任何未命中的路径。

参考:http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx

相关问题