Я новичок в земле MVC и имею приложение, над которым я работаю. У меня есть 2 различных связи с 2 путями в моем глобальном, которые довольно похожиMVC ActionLink генерирует различные типы ссылок ... почему?
маршрут 1
routes.MapRoute("Category", "Movies/{category}/{subcategory}",
new { controller = "Catalog", action = "Index", category = "", subcategory = "" });
маршрут 2
routes.MapRoute("Movie", "Movie/{movie}",
new { controller = "Movie", action = "Index", movie = "" });
Когда я называю ActionLink для первого маршрута он создает его как я думаю, что он должен:
.../Movies/Category/SubCategory
однако, когда я создаю мою вторую ссылку заселяет это так:
.../Movie?movieId=ff569575-08ec-4049-93e2-901e7b0cb96a
я использовал строку вместо Guid раньше, и это было все еще делать тот же, т.е.
.../Movie?movieName=Snatch
мои actionlinks настроены следующим образом
<%= Html.ActionLink(parent.Name, "Index", "Catalog",
new { category = parent.Name, subCategory = "" }, null)%>
<%= Html.ActionLink(movie.Name, "Index", "Movie",
new { movieId = movie.MovieId }, null)%>
Мое приложение все еще работает, но я думал, что такое поведение было странным. любая помощь была бы большой.
Спасибо!
Вы правы, что им нужно совпадение, но он может пожелать изменить вызов ActionLink/RouteLink вместо изменения маршрута. –
Спасибо, ребята. Я смог исправить это, удалив конфликтующие имена. – Dacrocky