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

예를 들어 체크 박스/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) 
}