获取30多个下拉值给控制器以更新模型-MVC3 C#

时间:2011-10-14 16:11:58

标签: c# asp.net-mvc-3

我有一个非常大的表单,表示一个月或更长时间的数据。每天有3个用户可以更新的下拉菜单,然后我需要保存表单中的数据。我应该提一下,我必须自定义下拉列表(HERE)才能使用样式类,因此它不是标准的Html.dropdown()

所以我想做的就是......

查看:

    @{

        List<string> DropdownValues = new List<string>();

    }

    @using(Html.BeginForm("Method","Controller",FormMethod.Post,new{ Data = DropdownValues}))
    {
      @Html.CustomDropdown("Name1",ListOfOptions1)
      @Html.CustomDropdown("Name2",ListOfOptions2)
      @Html.CustomDropdown("Name3",ListOfOptions3)

      <input type="submit" value="Submit" />
      @{
         //Do on submit 
         DropdownValues.add(Name1.value);
         DropdownValues.add(Name2.value);
         DropdownValues.add(Name3.value);

      }
    }

想法?

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以直接从控制器代码访问表单元素,而不必将它们作为Action参数的一部分。也许这就是你要找的东西?...

//In controller post action

string name1 = Request.Form["Name1"];
string name2 = Request.Form["Name2"];
//etc...

你甚至可以把它放在循环中,这取决于你对数据的处理......

for(int i = 1; i <= 30; i++)
{
   string nameX = Request.Form["Name" + i];
}