Display List in a View MVC

后端 未结 2 758
遥遥无期
遥遥无期 2020-12-05 08:41

I\'m trying to display the list I made in my view but keep getting : \"The model item passed into the dictionary is of type \'System.Collections.Generic.List1[System.S

2条回答
  •  庸人自扰
    2020-12-05 08:59

    Your action method considers model type asList. But, in your view you are waiting for IEnumerable. You can solve this problem with changing the model in your view to List.

    But, the best approach would be to return IEnumerable as a model from your action method. Then you haven't to change model type in your view.

    But, in my opinion your models are not correctly implemented. I suggest you to change it as:

    public class Team
    {
        public int Position { get; set; }
        public string HomeGround {get; set;}
        public string NickName {get; set;}
        public int Founded { get; set; }
        public string Name { get; set; }
    }
    

    Then you must change your action method as:

    public ActionResult Index()
    {
        var model = new List();
    
        model.Add(new Team { Name = "MU"});
        model.Add(new Team { Name = "Chelsea"});
        ...
    
        return View(model);
    }
    

    And, your view:

    @model IEnumerable
    
    @{
         ViewBag.Title = "Standings";
    }
    
    @foreach (var item in Model)
    {
        
    @item.Name
    }

提交回复
热议问题