我有一个用于模型视图ViewSetup的编辑器模板。我使用模板视图简化为使用编辑器模板枚举mvc模型的表单提交
@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" />
}
所以基本上我需要一个形式可枚举的每个元素提交。但是我在表单提交时遇到了问题。我到后处理过程控制器:
public ActionResult Edit(ViewSetup formDataSent)
{
formDataSent.Save();
}
按默认模型结合我的TradingPartner财产越来越空,因为在HTML中的名称是:
<input name="[0].TradingPartner.ID" type="hidden" value="1"/>
我需要的是只提交每个元素上的ViewSetup对象而不是数组。如果我可以删除可以为我工作的名称中的索引部分。但是我不确定如何在表单提交中获得ViewSetup对象。
不,但我有许多ViewSetup模型的属性。它比这更复杂,但我刚才简化了上面的一个属性。 – kjj
也许看看使用partials。每个部分可以有一个模型,并调用其他具有子模型的部分。但是,这会增加更多的冗长度。 –
我必须使用模板,因为我必须在我的应用程序的许多地方重复使用它。 是否有某种方式我可以提交表单循环中的每个元素(只有我看到的方式是没有索引获得添加到html名称)..谢谢。 – kjj