我正在尝试从我的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,但无法正确获取语法。我错过了什么?
我的问题刚刚被标记为重复,也许它是,但我只看了另一篇文章,这对我没有任何意义。所以,如果是同样的问题,我也不理解它,它并没有帮助我解决我的问题。