asp.net-mvc - 从 Mvc 3 View 填充 List<Objects>

标签 asp.net-mvc asp.net-mvc-3 viewmodel

我有一个基于 Nominees 的 Viewmodel。而且我可以为 View 模型指定多个提名人。

我想从 View 中填充 Ilist。这是我的 View 模型

public class DebitViewModel:IValidatableObject
{
    public string AgentName { get; set; }
    public Debit Debit { get; set; }

    public Policy Policy { get; set; }
    public PolicyType PolicyType { get; set; }
    public Customer Customer { get; set; }     

    public IList<PolicyType> PolicyTypes { get; set; }
    public List<Nominee> Nominees { get; set; }
    public Dictionary<int,string> OccupationTypes { get; set; }        
}

当我按下 submit 时,我想自动填充所有 Nominess 。那么我应该如何通过 View 创建并使其自动填充列表?而不是单独的对象?

最佳答案

您可以使用编辑器模板:

@model DebitViewModel
@using (Html.BeginForm())
{
    ... some input fields for the other properties that we are not interested in

    @Html.EditorFor(x => x.Nominees)

    <button type="submit">OK</button>
}

然后为 Nominee 定义自定义编辑器模板模型 ( ~/Views/Shared/EditorTemplates/Nominee.cshtml ) 将自动为 Nominees 的每个元素呈现收藏:
@model Nominee

<div>
    @Html.EditorFor(x => x.FirstName)
    @Html.EditorFor(x => x.LastName)
    ...
</div>

关于asp.net-mvc - 从 Mvc 3 View 填充 List<Objects>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9800211/

相关文章:

c# - Models 和 ViewModels 应该如何交互?

asp.net-mvc-3 - asp.net mvc 3 验证摘要未通过不显眼的验证显示

javascript - MVC3 不显眼的验证 : how to remove/re-attach validation from a group of elements?

entity-framework - 我如何 ModelBind 与 MVC 3 和 Entity Framework Code First 的多对多关系?

android - 如何将参数传递给 View 模型?

silverlight - MVVM : how to pass parameter to ViewModel's constructor

c# - Request.UserHostName 实际返回的是什么,是否可以将其转换为我可以获得主机条目的内容?

c# - 如何通过代码禁用 MVC Controller ?

asp.net - Google reCAPTCHA 响应成功 : false, 无错误代码

asp.net-mvc-3 - "separated" View 应该如何?