2010-08-11 50 views
0

我有一個動作鏈接,看起來像;如何從url中刪除System.Web.Mvc.UrlParameter

<%= Html.ActionLink(Model.forumItem.title, "ViewForumItem", new { Id = Model.forumItem.id, title=Model.forumItem.title.Replace(" ", "-") })%> 

然而,它產生的網址是;

http://localhost:50756/Home/ViewForumItem/System.Web.Mvc.UrlParameter/Clappy?Id=15 

我能做些什麼來使它看起來像;

http://localhost:50756/Home/ViewForumItem/15/Clappy 

和SO一樣嗎?

回答

0

添加路由定義這樣

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

請確保您的ActionLink的參數鑰匙在你的路由定義,並在相同的情況確實存在,因爲它是例如敏感的情況下id必須小如果您在路線定義中將其寫入小案例中。