这可能真的很愚蠢,但我无法弄清楚......
所以这就是问题所在。 我有一个模型说A和模型B。
class A
{
B b = new B();
}
class B
{
...
}
现在,我有一个B的ViewModel(但不是A)。
所以,现在我有一个storngly键入A的视图。它调用另一个局部视图B来渲染B的所有属性。但现在,如何将B的viewmodel传递给局部视图?我可以通过调用Model.b而不是viewmodel来传递模型!
答案 0 :(得分:1)
将B类作为A类中的属性包含在内。现在您可以将B类用作Model.bModel
。
class A
{
public B bModel { get; set; }
}
class B
{
}
答案 1 :(得分:1)
您需要扩展一个ViewModel,使其包含您要访问的所有内容。然后只需访问它的不同组件,具体取决于您是在普通视图还是部分视图中。
答案 2 :(得分:1)
您可以通过ViewBag传递B.在控制器中添加
ViewBag.dataB = B;
然后,您可以使用
渲染模型的局部视图@Html.Partial("PartialName", ViewBag.dataB)
或者您可以添加getter属性来访问B并使用它来渲染部分。