gpt4 book ai didi

asp.net-mvc - 如何使用 Razor 语法创建静态下拉列表?

转载 作者:行者123 更新时间:2023-12-02 23:00:46 25 4
gpt4 key购买 nike

在 Google 和 Stack Overflow 上找了好几个小时后,我找不到一个该死的例子来说明如何构建一个完全脑死亡的、非来自数据库的简单下拉列表。老实说,我很难理解 MVC。有人可以告诉我如何创建这个吗:

<select name="FooBarDropDown" id="FooBarDropDown">
<option value="Option1" selected>This is Option 1</option>
<option value="Option2">This is Option 2</option>
<option value="Option3">This is Option 3</option>
</select>

使用这个:

@Html.DropDownList....

我正在寻找一种一体化解决方案......一切尽在眼前。我对语法感到非常痛苦。

最佳答案

我认为这就是您正在寻找的。最好将列表构造重构到 View 模型或 Controller 中。

@Html.DropDownList("FooBarDropDown", new List<SelectListItem>
{
new SelectListItem{ Text="Option 1", Value = "1" },
new SelectListItem{ Text="Option 2", Value = "2" },
new SelectListItem{ Text="Option 3", Value = "3" },
})

将其放入 Controller 的示例可能如下所示:

public ActionResult ExampleView()
{
var list = new List<SelectListItem>
{
new SelectListItem{ Text="Option 1", Value = "1" },
new SelectListItem{ Text="Option 2", Value = "2" },
new SelectListItem{ Text="Option 3", Value = "3", Selected = true },
};

ViewData["foorBarList"] = list;
return View();
}

然后在你看来:

@Html.DropDownList("fooBarDropDown", ViewData["list"] as List<SelectListItem>)

如果这确实是一个静态列表,您可能必须在其他 View / Controller 中重用,那么我会考虑将此逻辑放入某种静态类中。示例:

public static class DropDownListUtility
{
public static IEnumerable<SelectListItem> GetFooBarDropDown(object selectedValue)
{
return new List<SelectListItem>
{
new SelectListItem{ Text="Option 1", Value = "1", Selected = "1" == selectedValue.ToString()},
new SelectListItem{ Text="Option 2", Value = "2", Selected = "2" == selectedValue.ToString()},
new SelectListItem{ Text="Option 3", Value = "3", Selected = "3" == selectedValue.ToString()},
};
}

这样您就可以通过几种不同的方式访问该列表。

Controller 示例:

public ActionResult ExampleView()
{
var list = DropDownListUtility.GetFooBarDropDown("2"); //select second option by default;
ViewData["foorBarList"] = list;
return View();
}

查看示例:

@Html.DropDownList("fooBarDropDown", DropDownListUtility.GetFooBarDropDown("2"))

关于asp.net-mvc - 如何使用 Razor 语法创建静态下拉列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30606337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com