如何使我的模型类型为System.Collections..IEnumerable?

时间:2017-03-18 00:11:59

标签: c# asp.net-mvc model ienumerable

我正在尝试从我的Controller创建一个View,看起来像这样。

namespace NorthernDog.Controllers
{
    public class GalleryController : Controller
    {
        // GET: Gallery
        public ActionResult Index()
        {
            DataTable dt = new DataTable();
            dt = Data.DataAccess.GetDogs();
            Models.Gallery gallery = new Models.Gallery();


            foreach (DataRow item in dt.Rows)
                gallery.Dogs.Add(new Models.Dog()
                {
                    Id = Convert.ToInt32(item["Id"]),
                    Name = Convert.ToString(item["Name"]),
                    Type = Convert.ToString(item["Type"]),
                    imagePath = Convert.ToString(item["ImagePath"]),
                    Breeder = Convert.ToString(item["Breeder"]),
                    State = Convert.ToString(item["State"]),
                    ZipCode = Convert.ToString(item["ZipCode"]),
                    BirthDate = Convert.ToDateTime(item["BirthDate"]),
                });

            return View(gallery.Dogs.AsEnumerable());
        }
    }
}

我的狗模型看起来像这样:

namespace NorthernDog.Models
{
    public class Dog
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Type { get; set; }
        public string imagePath { get; set; }
        public string Breeder { get; set; }
        public string State { get; set; }
        public string ZipCode { get; set; }
        public List<string> ImageList { get; set; }
        public DateTime BirthDate { get; set; }
    }
}

最后我的图库模型看起来像这样:

namespace NorthernDog.Models
{
    public class Gallery : IEnumerable
    {
        List<Dog> dogs = new List<Dog>();

        public List<Dog> Dogs
        {
            get { return dogs; }
            set { dogs = value; }
        }

        public Gallery()
        {
        }

        public IEnumerator GetEnumerator()
        {
            throw new NotImplementedException();
        }
    }
}

所以,当我尝试通过右键单击控制器上的索引并选择Gallery作为模型来创建视图时,我得到了一个

  

传递到字典中的模型项的类型为'System.Collections.Generic.List'1 [NorthernDog.Models.Dog]',但此字典需要类型为'System.Collections.Generic.IEnumerable'的模型项1 [NorthernDog.Models.Gallery]'

我已尝试将我的列表转换为IEnumerable,但无法正确获取语法。我错过了什么?

我的问题刚刚被标记为重复,也许它是,但我只看了另一篇文章,这对我没有任何意义。所以,如果是同样的问题,我也不理解它,它并没有帮助我解决我的问题。

0 个答案:

没有答案