2016-10-31 10 views
-1

私はasp.net mvcアプリケーションで作業しています。 ビューモデルを作成しました。強く型付けされた部分図を作成したいのですが、エラーが表示されます。誰も私を助けることができるここに私のビューモデルである:?mvcのビューモデルから強く型付けされた部分ビューを作成する方法は?

public class AddGISViewModel 
{ 
    public HamyarShahr.Models.DomainModels.GIS gis { get; set; } 
    public IEnumerable<HamyarShahr.Models.DomainModels.Companies> Companies { get; set; } 
} 

私のコントローラ:私は、GISエンティティのための新しい情報を作成するためのアクションを作成しました。

[HttpGet] 
    public ActionResult Create() 
    { 
     AddGISViewModel model = new AddGISViewModel(); 
     CompanyRepository blcompany = new CompanyRepository(); 
     model.Companies = blcompany.Select().ToList(); 
     return View("Create", model: model); 

    } 

Add viewErrors

+0

データ・コンテキスト・クラス(そのビュー・モデルとデータ・コンテキストはありません)を選択できません。これは悪い習慣であることに注意してください。ビュー・モデルには、特に編集時にデータ・モデルであるプロパティーを入れないでください。 –

+0

エラー・メッセージは明らかです。プライマリキー定義( 'KeyAttribute'によって与えられる)を持つデータモデルクラスが必要です。ターゲットクラス 'AddGISViewModel'はデータベースモデルではなくビューモデルであり、スキャフォールディングコンテキストでは意味をなさない。 –

+0

私はそれを得た。では、ビューモデルを表示するにはどうすればいいですか? –

答えて

1

足場は、モデルを表示しない、データモデルと相互作用するコードを生成することを意味します。したがって、指定したデータコンテキストからモデルを選択する必要があります。 documentationをチェックしてみてください。

+0

どのようにビューモデルを渡して表示できますか? –

+0

ビューモデルをビューに渡すことは別のことです。 Razorテンプレートのビューモデルを** @ model AddGISViewModel **として定義し、** return View( "viewName"、viewModel); ** –

+0

を使用してコントローラ上でビューに送信してください。ビュービューウィンドウのクラスモデルフィールドにmyviewmodelクラスが選択されたため、私はアクションのビューを作成する際に間違いを犯しました。最初は空のテンプレートビューを作成し、次に@model AddGISModelを追加しました –

関連する問題