.Net MVC 4 Как получить массив в Model или из Form Collection при отправке формы

Я работаю с.net MVC 4, моя проблема в том, что у меня есть несколько элементов управления вводом с тем же именем с постфиксом 0,1,2, как массив. Я хочу, чтобы все эти значения были в одном объекте или списке объектов. Элементы управления в моем представлении (Razor,.cshtml), как показано ниже:

<input type="hidden" value="FirstName" name="MyListData[0]" id="MyListDataUnSelected_0_">
<input type="hidden" value="MiddleName" name="MyListData[1]" id="MyListDataUnSelected_1_">
<input type="hidden" value="LastName" name="MyListData[2]" id="MyListDataUnSelected_2_">

и мой метод сообщения на контроллере выглядит так:

public ActionResult Index(List<string> MyListData, FormCollection pFormCollection)

в из коллекции он дает мне значение MyListData[0],MyListData[1],..., но список MyListData является нулевым. У меня есть еще одна страница в том же коде применяется, и в этом случае я получаю список значений в MyListData.

Я также попытался использовать строку [] MyListData, но все еще не работает.

Как я могу получить этот список в модели или из коллекции форм.

1 ответ

Решение

Мое текущее решение

List<string> lststr=new List<string>();
int i=0;
while(true)
{
    if(pFormCollection["MyListData[" + i + "]"]!=null)
    {
         lststr.add(pFormCollection["MyListData[" + i + "]"]);
         i++;
    }
    else
        break;
}

или короче

List<string> lststr=new List<string>();
int i=0;
while(pFormCollection["MyListData[" + i + "]"]!=null)
{

         lststr.add(pFormCollection["MyListData[" + i + "]"]);
         i++;

}
Другие вопросы по тегам