在asp.net mvc3中获取列表框选定值

时间:2012-10-15 05:29:34

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

在asp.net Mvc3 razor中,我使用selectlist

在我的控制器视图包中用dbcontext绑定了一些数据

我的控制器..

public ActionResult Index()
        {
            ViewBag.students = new SelectList(db.StudentList, "StudentID", "StudentName");
            return View();
        } 

然后我使用viewbag将其绑定到ListBox

我的观点..

@using (Html.BeginForm("Save", "Student"))
{    
    @Html.ValidationSummary(true)
    <div>
     @Html.ListBox("students")
    <p>
        <input type="submit" name="Save" id="Save" value="Save" />
    </p>
    </div>
}

现在,在我的控制器中,在Save操作中,我需要捕获列表框中的选定值 我试过以下

[AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Save(FormCollection formValue) 
        {
            //need code to capture values                
            return View("Index");
        }

任何人都可以提供帮助

提前致谢

2 个答案:

答案 0 :(得分:3)

尝试以下

 @Html.ListBox("students",ViewBag.students )

从表单集合中获取“学生”的价值。为此,请参阅以下页面

Pulling ListBox selected items from FormCollection

要想在MVC中实现listbox,请阅读本文。

ASP.NET MVC Select List Example

答案 1 :(得分:0)

试试:

public class StudentController : Controller
{
    //
    // GET: /Student/

    public ActionResult Index()
    {
        var studentList = new List<Student>
                              {
                                  new Student {StudentID = 1, StudentName = "StudentName1"},
                                  new Student {StudentID = 2, StudentName = "StudentName2"},
                                  new Student {StudentID = 3, StudentName = "StudentName3"},
                                  new Student {StudentID = 4, StudentName = "StudentName4"}
                              };

        ViewBag.students = new SelectList(studentList, "StudentID", "StudentName");
        return View();
    } 

    [HttpPost]
    public ActionResult Save(String[] students)
    {
        return View();
    }

}

public class Student
{
    public int StudentID { get; set; }
    public string StudentName { get; set; }
}