使用ASP.NET MVC中的FormCollection对象,可以方便地获取表单数据。在多维控制器中,如果我们要保存选定的html.listbox项目值,可以通过以下步骤实现。
首先,在View中使用html.listbox控件创建一个多选列表框,并设置name属性为"selectedItems",如下所示:html@Html.ListBox("selectedItems", new SelectList(ViewBag.Items, "Value", "Text"))然后,在Controller的HttpPost方法中,我们可以通过FormCollection对象获取选中的项目值。首先,我们需要遍历FormCollection对象,找到名为"selectedItems"的键。然后,我们可以使用FormCollection对象的GetValues方法获取选中的项目值。csharp[HttpPost]public ActionResult SaveSelectedItems(FormCollection form){ string[] selectedItems = form.GetValues("selectedItems"); // 保存选中的项目值 // ... return View();}接下来,我们可以根据业务需求将选中的项目值保存到数据库、文件或其他数据源中。案例代码:下面是一个简单的示例,演示如何使用FormCollection对象仅保存选定的html.listbox项目值。在View中,我们创建一个多选列表框,并将选中的项值传递给Controller的SaveSelectedItems方法:html@using (Html.BeginForm("SaveSelectedItems", "Home", FormMethod.Post)){ @Html.ListBox("selectedItems", new SelectList(ViewBag.Items, "Value", "Text")) }在Controller中,我们获取选中的项值,并将其保存到Session中:csharp[HttpPost]public ActionResult SaveSelectedItems(FormCollection form){ string[] selectedItems = form.GetValues("selectedItems"); if (selectedItems != null) { Session["SelectedItems"] = selectedItems; } return View();}在另一个Action方法中,我们可以从Session中获取保存的选中项值,并将其显示在View中:csharppublic ActionResult DisplaySelectedItems(){ string[] selectedItems = (string[])Session["SelectedItems"]; if (selectedItems != null) { ViewBag.SelectedItems = selectedItems; } return View();}在View中,我们可以使用 ViewBag.SelectedItems 显示选中的项值:html@if (ViewBag.SelectedItems != null){ - @foreach (var item in ViewBag.SelectedItems) {
- @item }
html@using (Html.BeginForm("SaveSelectedItems", "Home", FormMethod.Post)){ @Html.ListBox("selectedItems", new SelectList(ViewBag.Items, "Value", "Text")) }csharp[HttpPost]public ActionResult SaveSelectedItems(FormCollection form){ string[] selectedItems = form.GetValues("selectedItems"); if (selectedItems != null) { Session["SelectedItems"] = selectedItems; } return View();}public ActionResult DisplaySelectedItems(){ string[] selectedItems = (string[])Session["SelectedItems"]; if (selectedItems != null) { ViewBag.SelectedItems = selectedItems; } return View();}html@if (ViewBag.SelectedItems != null){ - @foreach (var item in ViewBag.SelectedItems) {
- @item }