将对象传递给用户控制asp.net mvc中的ViewModel

时间:2010-02-03 16:44:02

标签: c# asp.net-mvc

我有一个使用特定ViewModel的视图。

viewModel具有各种对象,例如Foo,Bar ...等

我有一个用户控件,它有自己的ViewModel,它包含一个Foo对象。

如何将Foo对象从页面View传递给usercontrols ViewModel?

2 个答案:

答案 0 :(得分:1)

如果你这样做:

<% Html.RenderPartial("partial", Model.Foo); %>

然后会发生以下两件事之一。

  1. 如果视图的Model.Foo -null ,则UserControl的Model将等于视图的Model.Foo, UserControl的Model.Foo将是视图的Model.Foo.Foo
  2. *如果视图的Model.Foo null ,则UserControl的Model将等于视图的Model和UserControl的Model.Foo将是视图的Model.Foo。如果视图的ModelModel.Foo不是同一类型且视图的Model非空,并且如果UserControl使用强类型视图数据,那么您将收到运行时错误,因为UserControl的模型现在是TViewModel类型,而不是TUserControlModel

答案 1 :(得分:0)

你在找这个:

<% Html.RenderPartial("partial", Model.Foo); %>