剃刀布局与模型

pro*_*nis 3 razor asp.net-mvc-3

我有一个布局,它有两个局部视图,一个用于LogIn,另一个用于Register.

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

///register (in layout)
@Html.Partial("_RegisterPartial")
and in the partial
@model RegisterVM
Run Code Online (Sandbox Code Playgroud)

如图所示,它们都有不同的型号.

我的问题是,当我尝试添加一个从此布局派生的视图(使用不同的模型)时,我收到以下错误

传递到字典中的模型项的类型为"HomeVM",但此字典需要"LogOnVM"类型的模型项.

如何在布局中渲染局部图而不会对其他视图有任何问题?

谢谢

pro*_*nis 8

好吧,我找到了解决方案.

RenderPartial我没有在调用partials,而是ActionResultAccountController中创建了两个方法:

  1. 一个用于LogIn(LoginPartial)
  2. 一个用于寄存器(RegisterPartial).

然后在布局中我用它们调用它们RenderAction():

Html.RenderAction("LoginPartial", "Account");
Html.RenderAction("RegisterPartial", "Account");
Run Code Online (Sandbox Code Playgroud)

我不知道它是否是性能的最佳方法,但它工作正常.