У меня есть класс данных, который содержит несколько полей:
public class Person
{
public int id { get; set }
public string Name { get; set; }
public double Rate { get; set; }
public int Type { get; set; }
}
Если я понимаю Скотт Гензельман принимает привязывающие массивы объектов, я должен был бы создать представление формы, которое отображает HTML, который выглядит так
<input name="Person[0].id" value="26" type="hidden" />
<input name="Person[0].Name" value="Tom Smith" type="text" />
<input name="Person[0].Rate" value="40.0" type="text" />
<select name="Person[0].Type">
<option selected="selected" value="1">Full Time</option>
<option value="2">Part Time</option>
</select>
<input name="Person[1].id" value="33" type="hidden" />
<input name="Person[1].Name" value="Fred Jones" type="text" />
<input name="Person[1].Rate" value="45.0" type="text" />
<select name="Person[1].Type">
<option value="1">Full Time</option>
<option selected="selected" value="2">Part Time</option>
</select>
Затем я смогу захватить эти данные в моем контроллере с помощью метода действий, который выглядит следующим образом:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult People(Person[] array)
{
// Do stuff with array
}
Но это не сработает. Переменная массива всегда равна нулю. Я интерпретирую это, поскольку привязка данных не работает. Но почему?