Ola ..我在编辑表中的少数模型时遇到问题。我在页面上有一个模型列表(使用foreach),类似于
<table id="grid-table" >
@foreach (var image in ViewBag.Images)
{
<tr>
<td >
<a href="@Url.Action("ShowFullImage", new { id = @image.ID })" rel="lightbox[roadtrip]" title="@image.Description" >
<img src="@Url.Action("ShowImageThumbneil", new { id = @image.ID })" alt="@image.AlternateText" />
</a>
</td>
<td >
@using (Html.BeginForm("SaveImageInfo", "Admin", FormMethod.Post))
{
@Html.TextAreaFor(m => m.Description) <br />
@Html.TextBoxFor(m => m.AlternateText) <br />
@Html.LabelFor(m => m.ID)
<div id="item-post" >
<input title="Подтвердить" type="submit" value="Подтвердить" />
</div>
}
</td>
</tr>
}
我希望有办法编辑一个模型项目。在控制器中我有这样的事情:
[HttpPost]
public ActionResult SaveImageInfo(ImageModel imageModel)
{
Image img = _core.GetImageByID(_client, imageModel.ID);
img.AlternateText = imageModel.AlternateText;
img.Description = imageModel.Description;
_core.SaveImageInfo(_client, img);
return View();
}
但是,当然,它不起作用.. 有人可以帮帮我吗?
答案 0 :(得分:3)
使用@Html.LabelFor(m => m.ID)
更改@Html.HiddenFor(m => m.ID)
。标签的内容不会与POST一起发送,但隐藏字段的内容是..
答案 1 :(得分:0)
我猜了一下,因为我不确切地知道你看到了什么问题,但是如果它是试图重定向,那么在保存之后,请尝试改变:
Html.BeginForm
到
Ajax.BeginForm