5

부분 뷰에서 폼의 일부를 넣으면 모든 폼 파트가 부분 뷰의 폼 요소를 제외하고 완전히 구문이 다릅니다.부분 뷰에서 Html.BeginForm/Ajax.BeginForm을 사용하지 않고 방해되지 않는 구문을 적용하십시오.

방해받지 않는 구문을 "적용"하는 방법을 찾은 유일한 방법은 부분보기 내부에서 다른 양식을 시작하는 것입니다.

전망 :

@using (Ajax.BeginForm("SubmitHandler", new DefaultAjaxOptions())) 
{ 
    @Html.EditorFor(m => m.Name) 
    @Html.Partial("MyPartialView", Model) 
} 

PartialView :

@Html.TextBoxFor(m => m.SomeContent) 

출력 :

<input class="text-box single-line" data-val="true" data-val-required="This field is required." id="Name" name="Name" type="text" value=""> 
<input id="SomeContent" name="SomeContent" type="text" value="0"> 

로부터 보아 따라서 만 입력 요소가 unobstructive 구문 및 부분보기 않은 ...

새로운 모양을 시작할 필요가없는 부분적인보기 안에 방해 할 수없는 구문을 적용 할 수있는 방법이 있습니까?

답변

4

실제로 더 나은 해결책을 발견했습니다! asp.net mvc 코드와 MvcForm 클래스에서 조금 파고 나면 모든 방해되지 않는 유효성 검사 구문이 만들어집니다. 그것은 여전히 ​​unobstructive 구문을 적용합니다

@using(new MvcForm(ViewContext)) 
{ 
} 

대신

@using(Html.BeginForm()) 
{ 
} 

의,하지만 양식 html 태그 :

+1

당신 SIR을 생성하지 않습니다

당신은 사용 그렇다면 GENIUS입니다. 고맙습니다. – Henry

+0

당신이 당신의 부분 cshtml 파일을 포장한다 @Aravind 당신은 내가 같은 문제 – Aravind

+0

에 직면하고있어 그것을 해결 않았다 방법 : @using (Html.BeginForm()) 이런 식으로 { 내용 .. } 당신

태그로 감싸지 않고도 모든 올바른 html 속성을 얻을 수 있습니다. :) –