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の最も重要な要素は、フィールドの名前がコントローラ/アクションパラメータの名前と一致する必要があることです。

ただし、同じ名前のフィールドが2つある場合、アクションには1つの値しか返されません。

+0

たとえば、チェックボックス/ boolのような意味ですか?それはちょうど最初のものか最後のものを受け入れますか?ありがとう。 – 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) 
} 
関連する問題