2

共有部分ビューPartial1を作成する必要があり、他の画面で使用されます。したがって、共有コンポーネント用に特定のモデルPartialModel1を作成する代わりに、インターフェイスIPartialModel1を作成できます。

次に、他の画面でIPartialModel1を実装できます。

BigScreenModel1:IPartialModel1
BigScreenModel2:IPartialModel1

だからBigScreen.cshtmlで私は使うことができます

@Html.Partial("Partial",BigScreenModel1)

およびBigScreen2.cshtml

@Html.Partial("Partial",BigScreenModel2)

これは良い習慣ですか?

4

1 に答える 1

3

このアプローチで私が抱えている問題は、うまくいきますが、パーシャルのビューモデルをそれを含むページのビューモデルに結びつけていることです。

より良いアプローチは、次のように、ページ ビュー モデルのメンバーとして部分ビュー モデルを使用することです。

public class BigScreenModel1
{
    public PartialViewModel OtherViewModel { get; set; } 
}

public class BigScreenModel2
{
    public PartialViewModel OtherViewModel { get; set; }
}

そしてもちろん:

@Html.Partial("Partial", Model.OtherViewModel)

両方のページにあります。これにより、ビュー モデルが互いに分離されます。

于 2012-12-05T20:26:43.153 に答える