Сейчас я несколько недель в MVC, и каждый день появляется что-то новое, что кажется мне довольно странным.Итак, я пытаюсь найти ответы на вопросы, с которыми я сталкиваюсь.Тем не менее, для текущей проблемы я не могу найти спускаемый ответ здесь на stackoverflow или где-нибудь в Google по этому вопросу ...
У меня проблема с передачей параметров моему контроллеруиспользуя метод HTML.RenderAction.По какой-то причине параметр корректно заканчивается в RouteData, но «параметр функции» имеет значение null.Я думаю, что это связано с моими картами маршрутизации, поэтому я хотел бы опубликовать их здесь для получения дополнительной информации.
Моя карта маршрутов (среди прочих, но я знаю, что мое текущее действие использует этот корень):
routes.MapRoute("Default","{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" },
null,
new[] { "Web.Controllers" }
);
Действие моего контроллера:
public ActionResult GeneralManagementDetail(int? id)
{
//dostuff
}
Вызов RenderAction:
<% Html.RenderAction("GeneralManagementDetail", "Person", new { id = 4 }); %>
Где, конечно, «4» в настоящее время является жестко заданным значением, и оно будетстать идентификатором объекта из содержащего там цикла foreach, который у меня есть.
Теперь, в результате чего получается, что «int id» в контроллере имеет значение NULL, однако, когда «QuickWatching» RouteData, онопределенно в нем есть пара ключей "id, 4" ...