Html.ActionLink показывает URL-адрес запроса вместо симпатичного URL - PullRequest
0 голосов
/ 12 апреля 2010

Html.ActionLink

<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) 

Ответы [ 3 ]

2 голосов
/ 12 апреля 2010

Вам необходимо настроить маршрут:

routes.MapRoute(
    "DefaultWithTitle",
    "{controller}/{action}/{id}/{title}",
    new 
    { 
        controller = "Home", 
        action = "Edit", 
        id = UrlParameter.Optional,
        title = UrlParameter.Optional
    }
);
1 голос
/ 12 апреля 2010

Не зависит от штампа функции, но зависит от конфигурации маршрутизации.

routes.MapRoute("Edit",                                         // Route name
        "{controller}/{action}/{id}/{title}",                   // URL with parameters 
        new { controller = "Home", action = "Index", id = "" }  // Parameter defaults 
); 
0 голосов
/ 12 апреля 2010

Посмотрите на первый ответ на этот вопрос: HTML.ActionLink метод

Важным моментом является то, что вы должны убедиться, что используете правильную перегрузку для ActionLink ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...