2011-03-27 4 views
3

두 개의 부분 뷰가있는 레이아웃이 있는데 하나는 로그인 용이고 다른 하나는 등록 용입니다.모델을 포함한 면도기 레이아웃

//Login (In layout) 
@Html.Partial("_LoginPartial") 
and in the partial 
@model LogOnVM 

///register (in layout) 
@Html.Partial("_RegisterPartial") 
and in the partial 
@model RegisterVM 

이 두 모델은 서로 다른 모델을 가지고 있습니다.

내 문제는 내가이 레이아웃에서 파생되는 (다른 모델) 또 하나 개의보기를 추가하려고 할 때 나는

사전에 전달 된 모델 항목이며 다음과 같은 오류를 얻고 있다는 것입니다 'HomeVM'을 입력하십시오. 그러나 이 사전은 'LogOnVM'유형의 모델 항목이 필요합니다.

다른보기에 아무런 문제없이 레이아웃에서 부분을 렌더링 할 수 있습니까?

감사합니다.

답변

8

글쎄, 해결책을 찾았습니다. 로그인 (LoginPartial)에 대한

  1. 한 레지스터
  2. 하나 (RegisterPartial) 대신 RenderPartial와 파셜를 호출

    , 나는 Account 컨트롤러 두 ActionResult 방법을 만들었습니다. 이 성능을위한 최선의 방법 인 경우

    Html.RenderAction("LoginPartial", "Account"); 
    Html.RenderAction("RegisterPartial", "Account"); 
    

    나도 몰라하지만 그것을 잘 작동합니다 :

그런 다음 레이아웃에 나는 RenderAction()로 부른다.

+0

좋습니다. 그리고 나를 위해서. – AgentFire

관련 문제