2014-03-26 3 views
0

C#, Visual Studio 2012, MVC4 EF에서 작업.페이지 태그를 조건부로 폼 태그에 포함하는 방법

조건이 충족 될 때 양식이되고 싶다는 견해가 있습니다. 양식에 페이지 요소가있는 섹션 하나와 폼에 같은 페이지 요소가있는 섹션이 하나도 없는데 어떻게해야합니까?

 @if (this.Model.ItemRequestStatusId == Portal.BusinessModel.Entities.ItemRequestStatusId.VendorRepReview 
     && this.User.IsInRole("Vendor Rep")) 
    { 
     using (Html.BeginForm("Edit", "ItemRequest", FormMethod.Post, new { enctype = "multipart/form-data" })) 
     { 

     <button id="btn-data-integrity-final-review" class="btn btn-warning pull-right" type="submit">Vendor Review Complete</button> 
     } 
    } 
    else 
    { 
     @Html.ActionLink("Edit this request", "Edit", new { id = this.Model.Id }, new { @class = "btn btn-default pull-right" }) 
    } 

하고 해당 조건 아래, 나는 페이지 요소/필드가 있습니다

다음은 조건에 대한 내 코드입니다. 하지만 현재 양식 안에 들어 가지 않습니다 (제출 버튼 만 양식에 있음). POST에서 필드를 캡처하고 싶습니다.

답변

1

유일한 방법은 자바 스크립트를 사용하는 것입니다. 예를 들어, 당신은이 양식의 submit 이벤트를 구독 할 수 있습니다 후 제출하기 전에 양식에 모든 필드를 복제 :

$('#formId').submit(function() { 
    var inputFields = $('#someDivContainingYourInputFields').clone(); 
    $(this).append(inputFields); 
}); 

을하지만 더 좋은 방법은 단순히 그런 방법으로 마크 업을 구성 할 수있을 것이라고 입력 필드 양식 안에 있습니다. 조건의 외부에서 양식 정의를 이동하고 입력 필드를 감싸서이 작업을 수행 할 수 있습니다. 제출 버튼만이 if 안에있을 수 있습니다.

+0

그럼, 내가 당신의 "더 나은 접근법"제안을 이해하도록하겠습니다. 편집 단추는 양식 내부에 있지만 제출 단추는 조건이 충족 될 때만 표시되기 때문에 POST가 발생하지 않습니다. 권리? –

관련 문제