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