📜  创建空的下拉列表 mvc (1)

📅  最后修改于: 2023-12-03 15:07:12.887000             🧑  作者: Mango

创建空的下拉列表 MVC

如果你正在开发一个 ASP.NET MVC 应用程序,并且需要添加一个下拉列表,但是又不想把所有选项静态地列在 HTML 中,你可以创建一个空的下拉列表并在控制器中填充它。

步骤
1. 创建一个空的下拉列表

在视图文件(.cshtml)中,使用 Html.DropDownList() 方法创建一个空的下拉列表。示例代码如下:

@Html.DropDownList("myDropDownList", Enumerable.Empty<SelectListItem>(), "-- 请选择 --")

这个方法有三个参数:

  • 第一个参数是下拉列表的名称。你需要在 POST 表单数据中使用它。
  • 第二个参数是下拉列表的选项。在这里我们传递一个空的 IEnumerable<SelectListItem>,因为我们还没有填充任何选项。
  • 第三个参数是下拉列表默认选项的文本。它在列表中以灰色显示。
2. 在控制器中填充下拉列表

在控制器中,你需要将选项添加到下拉列表中。示例代码如下:

public ActionResult MyAction()
{
    var items = new List<SelectListItem>
    {
        new SelectListItem { Text = "选项 1", Value = "1" },
        new SelectListItem { Text = "选项 2", Value = "2" },
        new SelectListItem { Text = "选项 3", Value = "3" },
    };

    ViewBag.MyDropDownList = new SelectList(items, "Value", "Text");

    return View();
}

这个代码片段将三个选项添加到 items 列表中,然后通过 ViewBag 将它传递给视图。下拉列表的名称是 MyDropDownList,因此我们使用 ViewBag.MyDropDownList 将下拉列表选项传递给视图。注意,我们使用 SelectList 类来创建下拉列表选项。第一个参数是选项列表,第二个参数是指定选项值的属性名称,第三个参数是指定选项文本的属性名称。

3. 在视图中使用下拉列表

现在,你可以在视图文件中使用 Html.DropDownList() 方法来渲染下拉列表,并提供上一步中传递的选项。示例代码如下:

@Html.DropDownList("myDropDownList", ViewBag.MyDropDownList as SelectList, "-- 请选择 --")

这个代码片段中,我们使用 ViewBag.MyDropDownList 强制转换为 SelectList,并将它传递给 Html.DropDownList() 方法。注意,第一个参数仍然是下拉列表的名称,第二个参数是从 ViewBag 中获取的 SelectList 对象,第三个参数是下拉列表默认选项的文本。

结论

现在你已经学会了如何创建空的下拉列表并在控制器中填充选项。回到你的 ASP.NET MVC 应用程序并开始在你的应用程序中使用它吧!