2016-09-11 12 views
3

私はAsp.Netコアにいくつかのアプリケーションを書いていますが、Viewにいくつか問題があります。名前 'model'はASP.NETコアの現在のコンテキストに存在しません

ビューへの私のコントローラのリターン辞書:

Dictionary<string, List<MyModel>> 

と私の見解では、私が持っている:

@model System.Collections.Generic.Dictionary<string, List<MyProject.Folder1.MyModel> 

は、私はforeachの

@foreach (var blog in Model) 
{ 
//code 
} 

によって反復したいと思います私はエラーが発生しました:

The name 'model' does not exist in the current context

何が悪いと思いますか?

+1

? – mason

+0

あなたのコードは全くうまく見えます。 – Shyju

+0

@mason in '@' foreach(モデルのvarブログ)私は辞書を他のクラス、例えばMyClassに入れてもうまくいきますが、なぜ私はビューページでDictoraryを直接使うことができないのか知りたいのですが – Cieja

答えて

0

それは

@foreach (var blog in Model["somekey"] as List<MyModel>) 
+0

私は同じエラーメッセージがあります。 – Cieja

0

のようなものが、このお試しくださいすべきではない:

クラス:

public class Class1 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
} 

コントローラー:

public ActionResult Index() 
{ 
     Dictionary<string, List<Class1>> myDict = new Dictionary<string, List<Class1>>(); 
     List<Class1> objList = new List<Class1>(); 
     Class1 objClass=new Class1(); 
     objClass.Id=1; 
     objClass.Name="Sandip"; 
     objList.Add(objClass); 
     myDict.Add("sandip", objList); 
     return View(myDict); 
} 

ビュー:行でエラーが発生

@model Dictionary<string, List<MyMvcApplication.Models.Class1>> 
@{ 
    ViewBag.Title = "Index"; 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 

@foreach (var kvp in Model) 
{ 
    //logic 
} 
関連する問題