보기에서 컨트롤러로 개체의 목록을 전달할 때 문제가 있습니다. 목록은 항상 null입니다. 어떻게해야합니까?보기에서 컨트롤러로 목록을 전달하는 방법
내 모델 :
public class ImageModel
{
public int id { get; set; }
public string url { get; set; }
public bool delete { get; set; }
}
public class SchoolImages
{
public Nullable<int> schoolid { get; set; }
public IList<ImageModel> images;
}
뷰 : 나는 삭제를 클릭하면, SchoolImages
컨트롤러에 전달
@model SchoolAppManager.Models.SchoolImages
@using (Html.BeginForm("DeleteImages", "Images"))
{
@Html.HiddenFor(x => x.schoolid)
<table>
@for (int i = 0; i < Model.images.Count(); i += 4) {
<tr>
<td>
<img src="@Url.Content(Model.images[i].url)" width="50%" />
<br />
@Html.CheckBoxFor(x => x.images[i].delete)
@Html.HiddenFor(x => x.images[i].id)
</td>
<td>
@if (i + 1 < Model.images.Count())
{
<img src="@Url.Content(Model.images[i + 1].url)" width="50%" />
<br />
@Html.CheckBoxFor(x => x.images[i + 1].delete)
@Html.HiddenFor(x => x.images[i + 1].id)
}
</td>
<td>
@if (i + 2 < Model.images.Count())
{
<img src="@Url.Content(Model.images[i + 2].url)" width="50%" />
<br />
@Html.CheckBoxFor(x => x.images[i + 2].delete)
@Html.HiddenFor(x => x.images[i + 2].id)
}
</td>
<td>
@if (i + 3 < Model.images.Count())
{
<img src="@Url.Content(Model.images[i + 3].url)" width="50%" />
<br />
@Html.CheckBoxFor(x => x.images[i + 3].delete)
@Html.HiddenFor(x => x.images[i + 3].id)
}
</td>
</tr>
}
</table>
<input type="submit" value="delete" />
}
, SchoolImages.schoolId
컨트롤러의 값을 가지고, 그러나, SchoolImages.images
은 null입니다. 컨트롤러에 SchoolImages.images
을 어떻게 전달할 수 있습니까?
컨트롤러에 목록을 전달하는 유일한 방법은 jquery로 빌드하고 아약스 호출을 통해 전달하는 것입니다. 가능한 경우 ID를 전달하고 컨트롤러에서 목록을 다시 작성하는 것이 훨씬 더 쉽습니다. –