2010-02-03 115 views

回答

0

您正在尋找這樣的:

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

用戶控件是否足夠聰明以使其自己的Foo對象等於通過此處的對象?視圖和用戶控件有不同的ViewModel,它們都包含一個Foo – raklos 2010-02-03 17:03:16

1

如果你這樣做:

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

那麼一兩件事情會發生。

  1. 如果View的Model.Foo -null,那麼用戶控件的Model將等於視圖的Model.Foo,以及用戶控件的Model.Foo將視圖的Model.Foo.Foo
  2. *如果查看的Model.Foo,則該用戶控件的Model將等於視圖的Model,以及用戶控件的Model.Foo將視圖的Model.Foo。如果視圖的ModelModel.Foo不是同一類型,並且視圖的Model非空,並且如果UserControl使用強類型視圖數據,那麼您將得到運行時錯誤,因爲UserControl的模型現在是TViewModel而不是TUserControlModel類型。
+0

我通過讓Foo作爲usercontrol視圖模型的構造函數中的參數來工作。然後傳遞usercontrol viewmodel的實例作爲renderpartial方法中的第二個參數。 – raklos 2010-02-03 21:08:07

相關問題