У меня возникла проблема с MVC-3, генерирующим исходящие маршруты для меня.Проблема с ViewBag и маршрутами (MVC 3 - RC2)
Это адрес страницы я на обоих сценариях: http://localhost:1283/Conflict/Create/1200/300
Вот карта маршрута:
routes.MapRoute(
null, // Route name
"{controller}/{action}/{custId}/{projId}", // URL with parameters
null, // Parameter defaults
new { custId = @"\d+", projId = @"\d+" }
);
routes.MapRoute(
null, // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
Сценарий 1:
От контроллера:
public ActionResult Create(int custId, int projId)
{
return View();
}
От просмотра:
@Html.ActionLink("Back to List", "Index", "Conflict", new { custId = ViewBag.custId, projId = ViewBag.projId }, null)
Полученная ссылка, которая создается.
http://localhost:1283/Conflict?custId=1200&projId=300
Если изменить код контроллера следующим образом:
public ActionResult Create(int custId, int projId)
{
ViewBag.custId = custId;
ViewBag.projId = projId;
return View();
}
Я не делал каких-либо изменений в представлении, только добавили эти две строки в контроллер и следующую ссылку создается:
http://localhost:1283/Conflict/Index/1200/300
Что я здесь отсутствует? Это последовательное поведение, я смог воспроизвести это в других областях моего приложения. «Решение» очевидно, но почему мой вопрос?
Я не могу воспроизвести это поведение на своей машине! странный – swapneel
Метод действия индекса или создать? в вашем actionlink второй параметр - «Index»? –