如何使用参数和默认值进行MVC 4路由

时间:2014-10-29 08:02:58

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

这是我的默认路线:

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

我的控制器是“主页”,我的视图是“索引”,它采用默认值的这些参数:

public class HomeController : Controller
{
    public ActionResult Index(string Queue = "ALL", string Summary = "false")
    {
        ...
    }
}

我当前的网址如下所示:

http://www.example.com/?Queue=ONE&Summary=true

但我希望将其发送到类似的内容:

http://www.example.com/ONE?Summary=true

基本上路由它,所以我不必在URL中使用Queue关键字。

1 个答案:

答案 0 :(得分:0)

修改您的路线定义,如下所示

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