Вопрос маршрутизации с MVC 3 и бритвой - PullRequest
0 голосов
/ 02 февраля 2011

Я хочу, чтобы мой маршрут выглядел так:

/ Products / Image11_full.jpg

Моя бритва выглядит так:

<a rel="pgroup" title="@image.Name" href="@Url.RouteUrl("Image", new { controller = "Products", action = "Image", imageId = image.ImageId, size = "full" })" >

Мой маршрут выглядит следующим образом:

routes.MapRoute(
            "Image",
            "Products/Image{imageId}_{size}.jpg", // URL pattern, e.g. ~/Products/Image/
            new { controller = "Products", action = "Image" }, // Defaults will also match "GetSmallImage"
            new { imageId = @"\d+", size = @"\(full\|small\|medium\)" }
            );

Я ничего не получаю в эфире (когда я использую название маршрута), или я получаю маршрут, который выглядит следующим образом / Products / Image? ImageId = 11 & size = full, что означает, что это не такнайди мой маршрут.

Кто-нибудь видит, что я делаю не так?

Спасибо, Ирв

Ответы [ 2 ]

1 голос
/ 02 февраля 2011

Ваше ограничение размера не правильно.Определите это так:

routes.MapRoute(
            "Image",
            "Products/Image{imageId}_{size}.jpg", // URL pattern, e.g. ~/Products/Image/
            new { controller = "Products", action = "Image" }, // Defaults will also match "GetSmallImage"
            new { imageId = @"\d+", size = @"full|small|medium" }
            );
0 голосов
/ 02 февраля 2011

Удалить controller и action из вызова RouteUrl. (Поскольку они не указаны в параметрах URL)

...