Неверный URL, созданный URL.Action и Html.ActionLink - PullRequest
1 голос
/ 26 сентября 2011

У меня есть маршруты:

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

и использование:

@Url.Action("News", "News", new { newsId = "", newsTitle = "" })

Я хочу получить URL-адрес "/ News", но вместо этого создается "/ News / News".Маршрут по умолчанию используется, я думаю.Итак, вопрос в том, почему пропущен NewsRoute?

1 Ответ

1 голос
/ 27 сентября 2011

Решением было разделить маршрут с 2 дополнительными параметрами и действием на два отдельных действия:

routes.MapRoute(
    "NewsRoute",
    "News", new {
        controller = "News",
        action = "Index"
    }
);

routes.MapRoute(
    "Specific News",
    "News/{id}/{title}",
    new {
        controller = "News",
        action = "News",
        title = UrlParameter.Optional
    }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...