我在索引页面上有一个 PartialView 如下:-
@{ Html.RenderPartial("ImageUpload"); }
PartialView 看起来像这样:-
@model MvcCommons.ViewModels.ImageModel
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.FileName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
</tr>
}
</table>
现在根据 PartialView 顶部的声明,它应该进入 ViewModels.ImageModel 内部,并且在该类内部我有一个构造函数:-
public ImageModel()
{
XDocument imageMetaData = XDocument.Load(uploadsDir + @"/ImagesMetaData.xml");
var images = from image in imageMetaData.Descendants("image")
select new Image(image.Element("filename").Value,
image.Element("description").Value);
this.AddRange(images.ToList<Image>());
}
但是,由于某种原因,在 ImageUpload 部分视图中,当我调试时,我没有被重定向到此 ViewModel 构造函数,因此 PartialView 中的模型为空。
我在这里错过了什么吗?
我怎样才能让它真正通过我的构造函数?我是否还需要在主索引页面(托管 PartialView 的位置)中做一个@model。
感谢您的帮助和时间