我想绑定(bind)一个数组数据以在 ASP.NET MVC 中查看,我该怎么做?
抱歉我的问题不清楚。 现在,我创建了一个自定义对象(不是数组),我试图将它传递给 View,但错误显示
“传递到字典中的模型项是‘ContactView’类型的,但是这个字典需要一个‘System.Collections.Generic.IEnumerable’类型的模型项”
最佳答案
您可以使用 ViewData[],但最好的方法是实际创建一个 View 类并返回它。
假设您要发送数据的 View 称为联系人。创建一个新的 View 类并返回它。所以不是这个:
public ActionResult Contacts(){
ViewData["contacts"] = arrayOfContacts[];
...
return View();
}
您可以通过这样做获得强类型 View :
public class ContactsView(){
Object[] ContactsList {get;set;}
}
public ActionResult Contacts(){
...
return View(new ContactsView(){
ContactsList = arrayOfContacts[];
});
}
然后在实际 View 中,您可以通过接受 ContactsView 类型的对象来强类型化它。这样在实际 View 中,让它像这样继承:
... Inherits="System.Web.Mvc.ViewPage<ContactsView>" ...
这允许你调用你的数组...
Model.ContactsList
与此相反:
object[] arrayOfItems = (Object[])ViewData["theContactsList"];
在这种情况下,您可能想要检查它是否不为空等。这样做的好处是,如果您重构它会容易得多。更不用说强类型对象的易用性和类型安全性了。
关于asp.net-mvc - ASP.NET MVC 如何将自定义模型绑定(bind)到 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/868786/