我是ASP.NET的新手,并且对@Html.Action
感到困惑。请提供帮助和解释。
我有一个父视图,该视图对应于基于学生模型构建的用户表单。我希望在部分视图的父视图中呈现学生的化身。
为此,我正在使用@Html.Action
来调用不同于父级控制器的控制器,并向其传递学生图像ID,如下所示:
<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
的参数值对应于学生的实际图像ID。没关系 !
但是一旦传递给Img
控制器,学生ID的值就会更改。
似乎它从父视图的URL中获取了该值,并用它覆盖了参数的值。
尽管目前还没有提交表格。
我做错了什么?
感谢您的帮助