asp.net-mvc - ASP.NET MVC 如何将自定义模型绑定(bind)到 View

标签 asp.net-mvc gridview model

我想绑定(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/

相关文章:

c# - 如何创建密码重置链接?

java - 根据数字程序设置GridView的ImageVIew

c# - 如何在文本框中绑定(bind) gridview 以及如何在 asp.net 中计算总值

ruby-on-rails - Rails 应用程序中的 AssociationTypeMismatch(预期对象,获得 HashWithIn DifferentAccess)

php - Laravel 5.1 - 在相同特征模型上进行干燥

asp.net-mvc - ASP.NET MVC HandleError View 未找到

c# - View 正在将匿名类型传递给 Controller

ruby-on-rails - 如何创建用于查找 Rails 模型记录的黑名单/白名单?

c# - 客户截断查询字符串,导致 FormatException

c# - MVC WebGrid如何更新查询字符串