2010-04-12 68 views
0

的Html.ActionLinkHtml.ActionLink顯示查詢網址,而不是漂亮的URL

<li> ${Html.ActionLink<HomeController>(c => c.Edit(ViewData.Model.Id, ViewData.Model.Title), "Edit")} </li> 

當爲html創建顯示的網址是Edit/5006?title=One。我如何將其更改爲像Edit/5006/One這樣的漂亮URL?

我的編輯操作方法是

public ActionResult Edit(int id, string title) 
+0

http://stackoverflow.com/questions/488908/asp-net-mvc-html-actionlink-result-url-the-way編碼-of – 2010-04-12 13:34:11

回答

2

你需要有一個路由設置:

routes.MapRoute(
    "DefaultWithTitle", 
    "{controller}/{action}/{id}/{title}", 
    new 
    { 
     controller = "Home", 
     action = "Edit", 
     id = UrlParameter.Optional, 
     title = UrlParameter.Optional 
    } 
); 
0

看看第一個回答這個問題:HTML.ActionLink method

重要的一點是,你必須確保你使用正確的過載ActionLink的()。

1

它不取決於功能標記,但它取決於路由配置。

routes.MapRoute("Edit",           // Route name 
     "{controller}/{action}/{id}/{title}",     // URL with parameters 
     new { controller = "Home", action = "Index", id = "" } // Parameter defaults 
);