用于模型绑定的MVC3非顺序索引隐藏输入..
<input type="hidden" name="Index" value="whatever" />
如果他们在要张贴的其他相关输入的中间,之后,之中,是否重要? 它们最终在发布的数据中是否重要? 例如,它们是否可以集中在一起并且仍然有效?
<input type="text" name="[A].Id" value="1" />
<input type="text" name="[B].Id" value="2" />
<input type="hidden" name="Index" value="A" />
<input type="hidden" name="Index" value="B" />
答案 0 :(得分:3)
不,表单字段的顺序无关紧要,它们出现在html页面上的位置。 MVC3最重要的因素是字段名称必须与控制器/操作参数的名称匹配。
但是,如果您有两个具有相同名称的字段,则只会将一个值返回到您的操作中。
答案 1 :(得分:3)
只要隐藏字段位于表单内部,它们的放置顺序就不重要了。请参阅下面的代码示例。注意隐藏字段如何放在表单内的任何位置。
@using (Html.BeginForm())
{
@Html.ValidationSummary(false, "Please correct the following errors")
@Html.HiddenFor(m => m.CoolStuffId)
@Html.Partial("_EditCoolStuff", Model)
<fieldset class="ui-grid-a">
<div class="ui-block-a"><a data-role="button" href="@Url.Action("ActionPlan", "Store", new { id = Model.StoreID })">Cancel</a></div>
<div class="ui-block-b"><button type="submit" data-theme="a">Submit</button></div>
</fieldset>
@Html.HiddenFor(m => m.TypeId)
}