0

VisualStudio2010 は、Model Property associated with System.Mvc.ViewDataDictionary Objectこれが役立つことを教えてくれますが、DataDictionary のドキュメントは、少なくとも簡単に理解できる形式で、私が望むものを示していないようです。

次の.cshtmlファイルはBorkedModelの View フォルダーにありますが、アクセスしたいモデルはExampleModelの Model フォルダーにあることに注意してください。この正確なコードは、ファイル自体がExampleModelの View フォルダーにあるが、別のモデルの View フォルダーにない場合に機能します。

ProjectTopDirectory/Views/ BorkedModel /index.cshtml

@model IEnumerable<ExampleMVC4.Models.ExampleModel> 

    @foreach (var item in Model)
{
    <HTML here/>
}

私がやっていることに対する解決策はありますか、それともモデルを独自のビューに保つ必要がありますか? 別のモデルのビューから 1 つのモデルにアクセスする方法はありますか?

4

1 に答える 1

2

ビューで厳密に型指定されたモデルを使用するには、モデルをコントローラーからビューに渡す必要があります。

public ActionResult Index()
{
    YourDBContext db = new YourDBContext();
    IEnumerable<ExampleModel> model = db.GetDataFromDatabase();
    return View(model); // Pass the model to the view
}

次に、ビューでモデルを指定します。これにより、データにアクセスできるようになります。

@model IEnumerable<NextFlicksMVC4.Models.ExampleModel>

@foreach (var item in Model)
{
    // Your HTML
}

更新: コントローラー アクション メソッドは、データベースからデータを取得し、それをビューに渡す必要があります。ビューの唯一の仕事は、データをユーザーに表示することです。

于 2012-11-18T03:24:41.677 に答える