【发布时间】:2016-09-29 05:22:19
【问题描述】:
我的模型视图 ViewSetup 有一个编辑器模板。我使用模板的观点被简化为
@model IEnumerable<ViewSetup>
@Html.EditorFor(s => s)
我的 ViewSetup 编辑器模板具有如下表单提交:
using (Ajax.BeginForm("Edit", new AjaxOptions() { HttpMethod = "Post" }))
{
@Html.HiddenFor(p => p.TradingPartner.ID)
<input type="submit" value="Save" />
}
所以基本上我需要为 Enumerable 的每个元素提交一个表单。但是我在提交表单时遇到了问题。我处理帖子的控制器是:
public ActionResult Edit(ViewSetup formDataSent)
{
formDataSent.Save();
}
根据默认模型绑定,我的 TradingPartner 属性为空,因为 html 中的名称是:
<input name="[0].TradingPartner.ID" type="hidden" value="1"/>
我只需要在每个元素上提交 ViewSetup 对象而不是数组。如果我可以删除名称中的索引部分,这可能对我有用。但我不确定如何在表单提交时仅获取 ViewSetup 对象。
【问题讨论】:
标签: asp.net-mvc-4