【发布时间】:2012-10-19 08:52:04
【问题描述】:
我有一个显示项目列表的 ASP.NET MVC 应用程序。在我的视图页面中,我遍历项目并使用部分视图呈现每个项目,如下所示:
@foreach(var item in Model.items)
{
<li>
@Html.Partial("ItemView", item)
</li>
}
在项目视图中,我用一个带有“删除”按钮的表单包装每个项目,如下所示:
@using(Html.BeginForm(...))
{
@Html.HiddenFor(m=>m.Id)
<label>@Model.Name (@Model.Id)</label>
<input type="submit" value="Delete"/>
}
项目被正确呈现,结果页面有一个很好的列表,其中包含所有项目的正确名称和 ID。
编辑:@Hidden 显然也是如此,这与我之前写的相反。
此外,这只会在第二次呈现表单时发生(即,在单击一个删除按钮后),第一次一切正常。我的操作方法如下所示:
public ActionResult AllItems()
{
var model = new AllItemsModel();
return PartialView(model);
}
public ActionResult Delete(DeleteModel model)
{
.... Perform the delete ...
return PartialView("AllItems", new AllItemsModel());
}
为什么会这样?
【问题讨论】:
标签: c# asp.net-mvc-3 binding