我有一个使用特定ViewModel的视图。
viewModel具有各种对象,例如Foo,Bar ...等
我有一个用户控件,它有自己的ViewModel,它包含一个Foo对象。
如何将Foo对象从页面View传递给usercontrols ViewModel?
答案 0 :(得分:1)
如果你这样做:
<% Html.RenderPartial("partial", Model.Foo); %>
然后会发生以下两件事之一。
Model.Foo
非 -null ,则UserControl的Model
将等于视图的Model.Foo
, UserControl的Model.Foo
将是视图的Model.Foo.Foo
。Model.Foo
null ,则UserControl的Model
将等于视图的Model
和UserControl的Model.Foo
将是视图的Model.Foo
。如果视图的Model
和Model.Foo
不是同一类型且视图的Model
非空,并且如果UserControl使用强类型视图数据,那么您将收到运行时错误,因为UserControl的模型现在是TViewModel
类型,而不是TUserControlModel
。答案 1 :(得分:0)
你在找这个:
<% Html.RenderPartial("partial", Model.Foo); %>