1

私のアプリケーションでは、次のように、パラメーターで指定されたモデルで同じ部分ビューをレンダリングする 2 つのビューがあります。

ビュー 1 で:

 @Html.Partial("_LayoutMyPartialView", new MyModel1())

View2 で:

@Html.Partial("_LayoutMyPartialView", new MyModel2())

部分ビューでモデルにアクセスしてデータを操作するにはどうすればよいですか?

アップデート

私のモデルは同じ構造を持っていません。

4

2 に答える 2

3

次のように、Modelキーワードを使用してモデルにアクセスします。

Model.UserName

オブジェクトの UserName プロパティが得られます。

部分ビューも厳密に型指定されていることを確認してください。

@model MyModel1
于 2012-02-03T14:44:16.110 に答える
2

あなたの要件は非常に異なっているようです。

それでも、ここにあなたが望むものを達成するための推奨設計があります(最初の質問に基づく)

  1. Model1 と Model2 のインスタンスを含む ViewModel を持っているので、2 つの異なるオブジェクトをマップする必要がなくなります。

    Public class MyViewModel
    

    { public MyModel1 Model1Instance {get;set;} public MyModel2 Model2Instance {get;set;} }

後で、@modelこの単一の ViewModel でビューをマークするだけです。これにより、コントローラーを介してオブジェクトを渡すときに、パーシャルの両方のモデルにアクセスできます。

于 2012-02-04T05:11:02.450 に答える