asp.net-mvc-3 - 如何向模型中的集合列表添加行?

标签 asp.net-mvc-3 razor

为简单起见,假设我有一个 User具有 List<Email> 的模型作为它的属性之一。

public class UserModel
{
    public string UserName { get; set; }
    public List<Email> Emails = new List<Email>();
}

public class Email
{
    public string Address { get; set; }
}

在我看来,我有一个电子邮件列表:
<table>
@foreach(Email email in Model.Emails)
{
    <tr>
        <td>@Html.EditorFor(modelItem => email.Address)</td>
    </tr>
}
</table>

现在假设我希望用户能够单击向表中添加新行的按钮,以便用户可以将新电子邮件添加到绑定(bind)到其用户的列表中。我该怎么做呢?我是否需要以某种方式通过 javascript 添加新行,以便在发布页面时将其绑定(bind)到模型?我不知道如何解决这个问题,因为我对来自 WebForms 的 MVC 比较陌生。

最佳答案

经过一番研究,我发现了 Steven Anderson http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/ 的这篇博文

它似乎正在做我想要的(除了它是用 MVC2 编写的)。

关于asp.net-mvc-3 - 如何向模型中的集合列表添加行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9915612/

相关文章:

c# - 在 ASP.NET MVC3 中使用 C# 填充 Word 模板

css - MVC 验证只有边框高亮没有文本错误信息

asp.net-mvc - ASP.NET MVC 3 - 将复杂的 JSON 模型发布到操作中

jquery - 如何动态创建/删除元素并允许模型绑定(bind)启动?

html - Razor 标签上的文本框重叠

html - 在 Razor MVC 中使用 HTML 内容解码字符串

asp.net-mvc - jQuery Drop Down 没有方法 'val'

asp.net-mvc-3 - 如何确定 ASP.NET MVC 3 中是否存在 View ?

c# - Webmatrix - 将变量从 cshtml 页面传递到 aspx 页面

events - MVC Razor 按钮