2011-08-04 9 views
1

내보기에 여는 FORM 태그가 렌더링되지 않습니다. 다음은 내 컨트롤러MVC3 시작하지 않음 <form> 태그

[HttpGet, Authorize] 
    public ActionResult Edit(long id) 
    { 
     Position position = positionRepository.GetPositionById(id); 
     return View(position); 
    } 

에 코드입니다 그리고 이것은

@using (Html.BeginForm("Edit", "Position", new { area = "Stock", id = Model.PositionId }, FormMethod.Post, null)){} 

페이지가 적절한 데이터를 렌더링 호출하면 (컨트롤 코드를 생략) 내보기에 코드하지만 HTML 측 않습니다 변경 사항을 저장하는 데 필요한 열기 및 닫기 FORM 태그는 포함시키지 마십시오. 내가 누락 될 수있는 것에 대한 단서가 있습니까? enter image description here

답변

2

enter image description here

은 내 마스터 페이지로 근본 원인을 발견했다. 마스터 페이지를 추가 할 때 MVC3 목록에없는 표준 마스터 페이지를 선택했습니다. 기존 마스터 페이지를 삭제하고 MVC3 목록에서 적절한 페이지를 추가하여 페이지를 새로 고치고 태그가 올바르게 렌더링되었습니다.

0

이 문제를 더욱 확장하기 위해 부모 레이아웃에서 @RenderBody()를 호출 할 때만 Html.BeginForm()이 작동한다는 것을 알았습니다.

부분보기의 모든 콘텐츠는 마스터가 정의한 @sections로 그룹화됩니다. 이 때문에 우리는 @RenderPage()와 @RenderSection 만 호출하고 결코 @RenderBody()를 호출하지 않았습니다. 우리가 @RenderBody()에 대한 호출을 추가하면, 우리의 양식 태그가 나타

(우리의 모든 콘텐츠는 여전히 섹션 내에서 정의에도 불구하고 렌더링 할 "몸"내용이없는 ...)

희망 이것은 다른 누군가에게 도움이됩니다 ... 잠시 시간을내어 알아 냈습니다 ...이 게시물은 최종 키를 제공했습니다 ..

1

similar thread에 다른 양식 태그가 닫히지 않았거나 새로운 BeginForm이있는 것으로 나타났습니다. 다른 form 태그 내부에 렌더링됩니다.

신속하게 확인하려면 Html.BeginForm(...) 위에 </form>을 추가하면됩니다.

+0

이 문제는 저에게 해당됩니다. 마스터 레이아웃 파일에 양식이 있습니다. – Jynn

관련 문제