2009-10-01 8 views
3

내가 MVC 내에서 표준 편집 양식보기를 제출, 나는이 경우에는 아래처럼 BeginForm 내부에 생성, 사용자 컨트롤을 배치해야합니다MVC 하나 개 이상의 형태는

을 문제가 있다는 것입니다 때 양식이 제출 될 때 ascx를 생성하면 제어기에서 조치가 실행되지 않습니다. 무엇을 잘못하고 있습니까?

<% using (Html.BeginForm()) 
    {%> 
<fieldset> 
    <legend>Tax</legend> 
    <p> 
     <label for="Name"> 
      Name:</label> 
     <%= Html.TextBox("Name", Model.Tax.Name) %> 
     <%= Html.ValidationMessage("Name", "*") %> 
    </p> 
    <p> 
     <% Html.RenderAction("Create", "Mileage"); %> 
    </p> 
    <p> 
     <input type="submit" value="Save" /> 
    </p> 
</fieldset> 
<% } %> 

여기에 당신은 당신의 결과 HTML의 형태를 중첩 한 Create.ascx

<% using (Html.BeginForm()) 
    {%> 
<fieldset> 
    <p> 
     <label for="Distance"> 
      Distance:</label> 
     <%= Html.TextBox("Distance", Model.Mileage.Distance)%> 
     <%= Html.ValidationMessage("Distance", "*") %><span class="field-validation-error" 
      id="field-validation-error-distance">*</span> 
    </p> 
</fieldset> 
<% } %> 
+1

양식 내에 양식이 있다는 사실 때문에 문제가 발생할 수 있습니까? –

답변

3

입니다. 예상대로 작동하지 않습니다. 내부보기에서 양식을 제거하십시오. 안쪽보기가 불완전 해 지므로 독립형으로 사용하는 경우이를 공유하게하고 양식을 열고 안쪽보기를 렌더링 한 다음 양식을 닫을 다른보기를 만들어야합니다.

여백 메모 : 기본 바인더를 사용하고 있지 않습니다. 원하는 경우 중첩 된 객체 (예 : Html.TextBox ("Mileage.Distance"))에서도 작동합니다.

1

중첩 된 양식은 HTML에서 지원되지 않습니다. 여기를 참조하십시오 : The FORM element

모든 양식은 FORM 요소로 묶어야합니다. 단일. 서에는 여러 양식이있을 수 있지만 FORM 요소는 중첩 될 수 없습니다.

부분보기에서 양식을 제거하고보기에서 컨테이너보기를 허용하거나보기에서 양식을 제거하고 부분에 추가하여 부모와 독립적으로 만듭니다.

관련 문제