2

2つの異なるStronly-Typedビューで使用したい部分ビューがあります。渡されるデータは単純なID整数ですが、ビュー#2でデータをレンダリングしようとすると、

ディクショナリに渡されるモデルアイテムのタイプはですCMESurvey.ViewModels.SurveyParticipantViewModelが、このディクショナリにはタイプのモデルアイテムが必要CMESurvey.Models.SurveyProgramModelです。

エラーが発生する部分ビューコードは次のとおりです。

@Html.Partial("SurveyProgramSubNav", new {ProgramId = Model.ProgramId})

このコードは、私の部分ビューの強い型とは異なる強い型になっています。

@model CMESurvey.Models.SurveyProgramModel 

部分ビューの場合、および:

@model CMESurvey.ViewModels.SurveyParticipantViewModel 

私が問題を抱えているという見方のために。どんな助けでも大歓迎です。

4

2 に答える 2

2

私はあなたが欲しいと思います:

@Html.Partial("SurveyProgramSubNav", 
   new SurveyProgramModel {ProgramId = Model.ProgramId})

自動タイプではなく、モデルの厳密なタイプを指定します。

于 2012-07-09T18:50:08.723 に答える
0

PartialViewsを使用する場合は、モデルの呼び出しを避けることをお勧めします。これは、ビューが異なればモデルも異なるためです(ほとんどの場合)。部分ビューでをに変更することをお勧めしますModel.ProgramIdViewBag.ProgramIdアクションでは、次のようにこのプロパティにデータを入力します。ViewBag.ProgramId = whatever;

作業を簡単にするために、コントローラーの継承を操作して、このセットをベースコントローラーに配置できます。

よろしく

于 2012-07-09T18:48:38.997 に答える