.Net MVC 4 如何在模型中获取数组或在表单提交时从表单集合中获取数组
.Net MVC 4 How to get array in Model or from Form Collection on form submit
我正在使用 .net MVC 4 我的问题是我有多个同名输入控件 postfix 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_">
我在控制器上的 post 方法如下:
public ActionResult Index(List<string> MyListData, FormCollection pFormCollection)
在集合中,它为我提供了 MyListData[0]、MyListData[1]、...
但 List MyListData 为空。我在另一个页面中应用了相同的代码,在这种情况下,我在 MyListData 中获得值列表。
我也试过使用 string[] MyListData 但还是不行。
如何在模型中或从表单集合中获取该列表。
我目前的解决方案是
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++;
}
我正在使用 .net MVC 4 我的问题是我有多个同名输入控件 postfix 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_">
我在控制器上的 post 方法如下:
public ActionResult Index(List<string> MyListData, FormCollection pFormCollection)
在集合中,它为我提供了 MyListData[0]、MyListData[1]、... 但 List MyListData 为空。我在另一个页面中应用了相同的代码,在这种情况下,我在 MyListData 中获得值列表。
我也试过使用 string[] MyListData 但还是不行。
如何在模型中或从表单集合中获取该列表。
我目前的解决方案是
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++;
}