3

MVC3非連續的指數隱藏輸入的模型綁定..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" /> 

回答

3

不,您的表單字段順序無關緊要,無法在html頁面上顯示。 MVC3最重要的因素是字段的名稱必須與控制器/操作參數的名稱匹配。

但是,如果您有兩個名稱相同的字段,則只有一個值會返回到您的操作中。

+0

你的意思是像複選框/布爾例如?它只接受第一個還是最後一個?謝謝。 – Benjamin

+0

它只會接受第一個或最後一個。這取決於哪一個首先被髮送回服務器。我不確定哪個。 – Jay

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) 
}