4

模型绑定的 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" />
4

2 回答 2

3

不,表单字段的顺序无关紧要,它们出现在 html 页面上的位置也无关紧要。MVC3 最重要的因素是字段的名称必须与控制器/动作参数的名称匹配。

但是,如果您有两个具有相同名称的字段,则只有一个值将返回到您的操作中。

于 2011-08-10T14:03:42.043 回答
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)
}
于 2011-08-10T14:06:06.283 回答