如何在ASP.NET MVC中的URL之后允许额外的文本?

时间:2010-02-20 16:27:50

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

我的应用程序中有这条唯一的路线:

routes.MapRoute(
    "Default",                            
    "{controller}/{action}/{id}",         
    new { controller = "Home", action = "Index", id = ""} 
);

这适用于以下网址:

  

/布拉赫/索引
  /布拉赫/创建
  / Blah / Details / 5

我想像SO那样在最后一个文本中添加文字:

  

/布拉赫/详情/ 5 /页 - 标题 - 这里-OR-无论

所以我的问题是:

我的路线应该如何才能实现这一目标?(或者如果它与路线没有任何关系......我该怎么办?)

1 个答案:

答案 0 :(得分:2)

MSDN链接:http://msdn.microsoft.com/en-us/library/cc668201.aspx

routes.MapRoute( 
    "Default",                             
    "{controller}/{action}/{id}/{*allTheRest}",          
    new { controller = "Home", action = "Index", id = "", allTheRest=""}  
); 

功能签名应与

类似
    public ActionResult MyAction(int? id, string rest)
    {
        this.TempData["ID"] = id ?? -1000;
        this.TempData["REST"] = rest ?? "Not Provided";
        return View();
    }