はい。デフォルトでは、親ビュー(ビュー)モデルが使用されます。しかし、モデル継承の型が厳密に型付けされた型と同じ型である限り、常に別のモデルを明示的に渡すことができます。
@Html.Partial("MyPartialView",Model)
それとも
@{ var data = new MyClass { SomeProperty = "SomeValue"};
@Html.Partial("MyPartialView",data)
あなたのメインビューを強くなどのCustomer
プロパティを持つOrder
クラスに型付けされている場合はMyPartialView
が強く、MyClass
例えば
@model MyClass
に型付けされたと仮定すると、この
public class Order
{
public int OrderId { set;get;}
public Customer Customer { set;get;}
}
public class Customer
{
public string Name { set;get;}
}
あなたは強く強くCustomer
型に型付けされた顧客ビューを想定しModel.Customer
@model Order
<h2>@Model.OrderId</h2>
@Html.Partial("Customer",Model.Customer)
を渡すことによって、あなたのメインビューからCustomerクラスに型付けされた部分ビューを呼び出すことができ
@model Customer
<h2>@Model.Name</h2>
Customerオブジェクトを渡す限り、どこからでもCustomerパーシャルビューを呼び出すことができます。 (親ビューがCustomerクラスに強く入力されている場合は、明示的にそれを渡す必要はありません)
ありがとうございます。モデルが部分的なビューに個別に関連付けることができないように聞こえます。すなわち、部分ビューのモデルは常に親ビューから渡されなければならないか? – user7242966
いいえ!別のタイプを持つことができます。私が@ Html.Partial( "CustomerDetails")をモデルパラメータなしで呼び出すことができるように聞こえるので、答えは – Shyju
ありがとうございます。MVCは自動的に親モデルへのバインドを自動的に試みますか?上記の例では、それはCustomerモデルですか? – user7242966