我有一個使用特定ViewModel的視圖。將對象傳遞給用戶控件在asp.net中的ViewModel mvc
viewModel具有各種對象,例如, Foo,Bar ...等
我有一個用戶控件,它有自己的ViewModel,它包含一個Foo對象。
如何將Foo對象從頁面View傳遞給usercontrols ViewModel?
我有一個使用特定ViewModel的視圖。將對象傳遞給用戶控件在asp.net中的ViewModel mvc
viewModel具有各種對象,例如, Foo,Bar ...等
我有一個用戶控件,它有自己的ViewModel,它包含一個Foo對象。
如何將Foo對象從頁面View傳遞給usercontrols ViewModel?
您正在尋找這樣的:
<% Html.RenderPartial("partial", Model.Foo); %>
如果你這樣做:
<% Html.RenderPartial("partial", Model.Foo); %>
那麼一兩件事情會發生。
Model.Foo
是非 -null,那麼用戶控件的Model
將等於視圖的Model.Foo
,以及用戶控件的Model.Foo
將視圖的Model.Foo.Foo
。Model.Foo
是空,則該用戶控件的Model
將等於視圖的Model
,以及用戶控件的Model.Foo
將視圖的Model.Foo
。如果視圖的Model
和Model.Foo
不是同一類型,並且視圖的Model
非空,並且如果UserControl使用強類型視圖數據,那麼您將得到運行時錯誤,因爲UserControl的模型現在是TViewModel
而不是TUserControlModel
類型。我通過讓Foo作爲usercontrol視圖模型的構造函數中的參數來工作。然後傳遞usercontrol viewmodel的實例作爲renderpartial方法中的第二個參數。 – raklos 2010-02-03 21:08:07
用戶控件是否足夠聰明以使其自己的Foo對象等於通過此處的對象?視圖和用戶控件有不同的ViewModel,它們都包含一個Foo – raklos 2010-02-03 17:03:16