2010-04-12 3 views
0

Html.ActionLinkHtml.ActionLink показывает запрос URL вместо довольно URL

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

Когда создается как HTML показывает URL быть Edit/5006?title=One. Как изменить это на красивый URL-адрес, например, Edit/5006/One?

метод

Мои Редактировать Действие

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

http://stackoverflow.com/questions/488908/asp-net-mvc-html-actionlink-result-url-the-way -of-кодирование –

ответ

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 
); 
Смежные вопросы