formcollection 仅保存选定的 html.listbox 项目值多维控制器

作者:编程家 分类: 编程代码 时间:2025-11-07

使用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中:

csharp

public 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.listbox项目值的功能。

在本文中,我们介绍了如何使用FormCollection对象仅保存选定的html.listbox项目值。通过获取表单数据,我们可以灵活地处理用户的选择,根据业务需求进行后续操作。在多维控制器中,我们可以通过FormCollection对象获取选中的项目值,并将其保存到合适的数据源中。这种方法简单易懂,适用于小型项目或快速原型开发。

参考代码:

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
  • }

}

参考链接:

- ASP.NET MVC FormCollection: https://docs.microsoft.com/en-us/dotnet/api/system.web.mvc.formcollection?view=aspnet-mvc-5.2