如何在Controller中访问多个选择列表的值?

时间:2012-10-24 18:56:44

标签: asp.net-mvc-3

发布时,我似乎无法访问多个选择列表的值。

视图中的代码是:

<select id="instructors" name ="instructors" multiple="multiple">
    @{
        List<CMMS.WebUI.ViewModels.AssignedInstructor> instructors = ViewBag.Instructors;

        foreach (var instructor in instructors)
        {
            if (instructor.HasInstructor)
            {
                @:<option value="@instructor.InstructorId" selected="selected">@instructor.InstructorName</option>
            }
            else
            {
                @:<option value="@instructor.InstructorId">@instructor.InstructorName</option>
            }
    }
}
</select>

我尝试通过以下方式获取控制器中的值:

[HttpPost]
public ActionResult Edit(int id, FormCollection formCollection)
{
    string[] selectedInstructors = formCollection["instructors"];
    ...
}


[HttpPost]
public ActionResult Edit(int id, string[] instructors)
{  
    ...
}

教师的两种方式总是为空。如果有人能告诉我在哪里搞砸了,我会非常感激。

1 个答案:

答案 0 :(得分:0)

尝试使用for循环

for (int i = 0; i < instructors.Count(); i++)
{
    if (instructor[i].HasInstructor)
    {
     ...