我想绑定一个数组数据来在ASP.NET MVC中查看,我该怎么做?
抱歉不清楚我的问题。 现在,我创建了一个自定义对象(不是数组),我试图将它传递给View,但错误显示“传入字典的模型项是'ContactView'类型,但是这个字典需要一个'System.Collections.Generic.IEnumerable'类型的模型项
答案 0 :(得分:6)
您可以使用ViewData [],但最好的方法是实际创建一个视图类并返回它。
因此,假设您要发送数据的视图称为“联系人”。创建一个新的View类并返回它。所以不要这样:
public ActionResult Contacts(){
ViewData["contacts"] = arrayOfContacts[];
...
return View();
}
您可以通过以下方式获得强类型视图:
public class ContactsView(){
Object[] ContactsList {get;set;}
}
public ActionResult Contacts(){
...
return View(new ContactsView(){
ContactsList = arrayOfContacts[];
});
}
然后在实际视图中,您可以通过接受ContactsView类型的对象来强类型化。那样在实际的View中,让它继承如下:
... Inherits="System.Web.Mvc.ViewPage<ContactsView>" ...
允许您将数组称为...
Model.ContactsList
与此相反:
object[] arrayOfItems = (Object[])ViewData["theContactsList"];
在这种情况下,您可能想要检查它是否为空等等。这样做的好处是,如果您重构它会更容易。更不用说强类型对象的易用性和类型安全性。
答案 1 :(得分:0)
将它放在ViewData中,并使用for..each循环它?
答案 2 :(得分:0)
请看这个链接:http://nerddinnerbook.s3.amazonaws.com/Part6.htm
基本上你可以将数组加载到viewdata对象中,并根据需要使用它。