2011-07-28 4 views
1

내 레이아웃에 @Html.Action()이 있는데이 컨트롤러 뒤에 중단 점을 지정하면 두 번 호출됩니다 (하나는 전체 View을 반환하는 전체 컨트롤러 동작의 일부인 것처럼 보입니다. 전화 번호는 @Renderbody()입니다.두 번 호출 된 작업

이 결과는 부분적으로 볼 때 (사용자 역할에 따라) 두 번 표시되는 동작 (예 : @Html.Action() 호출이 페이지의 나머지 부분에있는 한 곳의 레이아웃에서 한 번만 표시됨)에서 반환됩니다. 다음 @Html.Action() 호출은 메인 페이지의 내부입니다 레이아웃에 표시되기 전에.

을 나는 컨트롤러에서 반환 된 모든 부분 뷰를 표시 @Renderbody() 함께 할 수있는 뭔가가하지만 난 아무 생각이 가정합니다.에

모든 포인터 이것이 사실이라면 어떻게해야합니까? 그렇다면 동작을 사용하지 않고 메뉴를 표시하는 방법은 무엇입니까?

+0

안녕하세요, 저는 @Html을 사용하고 있습니다. 레이아웃 (forexample 언어, 사용자 설정 권한 부여)에 대한 행동과 두 번 전화하지 마십시오. 나는 궁금해합니다. 코드 조각을 붙여주세요. –

답변

5

부분보기 (일부 데이터 처리 후)를 렌더링하기 위해 @Html.Action을 사용하여 ActionResult을 호출하는 것과 유사한 상황이 있었지만 레이아웃을 두 번 반복했습니다. 이 문제를 해결하려면 ActionResultPartialViewResult으로 변경해야했습니다. 둘 다 부분 뷰를 반환했지만 이전 버전에서는보기를 반환하는 것처럼 처리했습니다.

+0

네, 그걸 정리했습니다. – cjk

관련 문제