Заполнить список <Objects>из Mvc 3 просмотра - PullRequest
3 голосов
/ 21 марта 2012

У меня есть Viewmodel на основе номинантов. И у меня может быть несколько номинантов для модели представления.

Я хочу заполнить список из списка. Вот мои viewmodels

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; }        
}

Я хочу автоматически заполнить все ядовитости, когда я нажимаю "Отправить" так как я должен создать путем представления и сделать его автоматически заполнять список автоматически? вместо отдельных предметов?

Ответы [ 2 ]

1 голос
/ 21 марта 2012

Вы можете использовать шаблоны редактора:

@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>
0 голосов
/ 21 марта 2012

скажем, например, Nominee выглядит как

public class Nominee{
 public int Id{get;set;}
 public string Name{get;set;}
 public int Age {get;set;}
}

вид будет выглядеть как

@for (int i = 0; i < Model.Nominees.Count(); i++)
{ 
<tr>                                                           
  <td>@Html.TextBoxFor(m => m.Nominees[i].Name)</td>
  <td>@Html.TextBoxFor(m => m.Nominees[i].Age)</td>
</tr>
}

Подробнее о привязка модели к списку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...