Простой ответ: нет, боюсь, 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
должен заполниться.
Я не проверял это, вероятно, есть много ошибок, но это должнобыть достаточно, чтобы начать;посты там, которые обсуждают это, если я найду их после публикации, я добавлю их.