Я новичок в ASP.NET и застрял с @Html.Action
. Буду признателен за помощь и объяснения, пожалуйста.
У меня есть родительское представление, которое соответствует пользовательской форме, построенной на основе модели студента. Я хотел бы, чтобы аватар ученика отображался в родительском представлении с частичным представлением.
Для этого я использую @Html.Action
, который вызывает контроллер, отличный от родительского, и передаю ему идентификатор образа студента следующим образом:
<div id="avatarStudent">
@Html.Action("DisplayImg", "Img", new { imgId = Model.ImgId, })
</div>
Этот DisplayImg
методв контроллере Img
взимается плата за получение изображения благодаря параметру Model.ImgId
и отправку данных в частичное представление с моделью Img
:
public ActionResult DisplayImg(int id)
{
ImgService imgService = new ImgService();
Img img = new Img();
img = imgService.Get(id).ToModelImg();
return PartialView("_Img", img);
}
При отладке этого значения параметра@Html.Action
соответствует действительному идентификатору студента. Все в порядке !
НО это значение изменяется для идентификатора студента после его передачи в контроллер Img
.
Кажется, что оно берет это значение из URL родительского представления и переопределяет значение параметрас этим.
Хотя на данном этапе форма еще не была отправлена.
Что я делаю не так?
Спасибо за помощь