запрос маршрута mvc - PullRequest
0 голосов
/ 14 июня 2011

Я новичок в mvc и играю с руководством по магазину альбомов.в моем представлении индекса у меня есть цикл как это.

@foreach (var genre in Model) {
    <li>@Html.ActionLink(genre.Name, "Browse", new { genre = genre.Name })</li>       
}

, что приводит к URL http://localhost:59443/store/Browse?genre=Dicso

в моем представлении просмотра у меня есть подобный код

@foreach (var album in Model.Albums) {
    <li>@Html.ActionLink(album.Title, "Details", new { id = album.AlbumId })</li>
}

однако при этом получается URL со структурой http://localhost:59443/store/Details/2

Может кто-нибудь сказать мне, почему структуры отличаются, используя один и тот же код.Спасибо

1 Ответ

1 голос
/ 14 июня 2011

Идентификатор - особый случай из-за настройки маршрутизации в global.asax.

В global.asax вы найдете что-то похожее на это.

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

}
...