ASP.NET @ Html.Action的参数值被覆盖

时间:2019-10-05 10:55:07

标签: asp.net-mvc

我是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中获取了该值,并用它覆盖了参数的值。

尽管目前还没有提交表格。

我做错了什么?

感谢您的帮助

0 个答案:

没有答案