Простой ответ: не боюсь, formCollection содержит только основную информацию о ключе и значении.
Может быть, было бы проще восстановить эту информацию, когда вы находитесь в контроллере? используя какую-то механику, чтобы определить, что вы передали.
В качестве альтернативы, если у вас есть список элементов управления, которые сопоставляются с базовым типом, вы можете перебрать каждый элемент управления.
MVC немного волшебен и может отображать свойства обратно в модель, даже в список.
Если у вас есть модель со списком элементов управления:
public class Control
{
String Value {get; set;}
String Attribute1 {get; set;}
}
public class ControlViewModel
{
IList<Control> Controls {get; set;}
}
то на ваш взгляд:
for(var i = 0; i<controls.Count;i++)
{
// Obviously this isnt complete right i needs to increment from 0; would be build using your htmlhelpers.
<input id="Controls[i]_Value" name="Controls[i].Value" type="text" value="hello" />
<input id="Controls[i]_Attribute1" name="Controls[i].Attribute1" type="hidden" value="Attribute" />
}
в своем действии httppost вы можете собрать ControlViewModel
, и список Controls
должен заполниться.
Я не проверял это, вероятно, есть много ошибок, но этого должно быть достаточно для начала; сообщения там, которые обсуждают это, если я найду их после публикации, я добавлю их.
person
Luke Duddridge
schedule
27.01.2011