首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从视图asp.net-mvc-3返回数组

如何从视图asp.net-mvc-3返回数组
EN

Stack Overflow用户
提问于 2011-08-30 17:58:56
回答 2查看 1.9K关注 0票数 2

我有视图模型:

代码语言:javascript
复制
    Customer
    {
        public string Name { get; set; }
        ...
        public IEnumerable<string> Emails { get; set; }
    }

我已经在视图中发布了它:

代码语言:javascript
复制
    ...
    @foreach (var Emails in Model.Emails)
    {
         @Html.EditorFor(modelItem => Emails)
    }
    ...

如何将这些电子邮件的数组返回给控制器?

此时,当我将数据从表单返回到控制器时,属性"Customer.Emails“等于null,但它应该包含一个电子邮件数组。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-30 18:03:01

EditorFor()调用不正确。

您应该删除foreach并执行以下操作

代码语言:javascript
复制
...
@Html.EditorFor(modelItem => modelItem.Emails)
...
票数 3
EN

Stack Overflow用户

发布于 2011-08-30 18:57:21

你必须这样做

代码语言:javascript
复制
for (var i = 0; i < Model.Emails.Count; i++) {
    @Html.EditorFor(m => m.Emails[i]);
}

否则,它将不会为模型绑定生成正确的id (因为您没有为EditorFor提供任何上下文)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7241492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档