1

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

视图中的代码是:

<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)
{  
    ...
}

两种方式的导师总是无效的。如果有人能告诉我我在哪里搞砸了,我将不胜感激。

4

1 回答 1

0

尝试使用 for 循环

for (int i = 0; i < instructors.Count(); i++)
{
    if (instructor[i].HasInstructor)
    {
     ...
于 2012-10-24T20:29:22.880 回答