如何编写简单的Html.DropDownListFor()?在ASP.NET MVC 2中,我想写一个非常简单的下拉列表,它给出了静态选项。例如,我想提供“红色”,“蓝色”和“绿色”之间的选择。
3 回答
隔江千里
TA贡献1906条经验 获得超10个赞
请参阅此MSDN文章以及Stack Overflow上的示例用法。
假设您有以下Linq / POCO课程:
public class Color{ public int ColorId { get; set; } public string Name { get; set; }}
让我们说你有以下模型:
public class PageModel { public int MyColorId { get; set; }}
最后,让我们说你有以下颜色列表。它们可以来自Linq查询,来自静态列表等:
public static IEnumerable<Color> Colors = new List<Color> { new Color { ColorId = 1, Name = "Red" }, new Color { ColorId = 2, Name = "Blue" }};
在您的视图中,您可以创建一个下拉列表,如下所示:
<%= Html.DropDownListFor(n => n.MyColorId, new SelectList(Colors, "ColorId", "Name")) %>
呼啦一阵风
TA贡献1802条经验 获得超6个赞
<%: Html.DropDownListFor( model => model.Color, new SelectList( new List<Object>{ new { value = 0 , text = "Red" }, new { value = 1 , text = "Blue" }, new { value = 2 , text = "Green"} }, "value", "text", Model.Color ) )%>
或者你不能写任何类,把这样的东西直接放到视图中。
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
从模型中的词典开始,避免大量的指法
namespace EzPL8.Models{ public class MyEggs { public Dictionary<int, string> Egg { get; set; } public MyEggs() { Egg = new Dictionary<int, string>() { { 0, "No Preference"}, { 1, "I hate eggs"}, { 2, "Over Easy"}, { 3, "Sunny Side Up"}, { 4, "Scrambled"}, { 5, "Hard Boiled"}, { 6, "Eggs Benedict"} }; } }
在视图中将其转换为列表以供显示
@Html.DropDownListFor(m => m.Egg.Keys, new SelectList( Model.Egg, "Key", "Value"))
- 3 回答
- 0 关注
- 307 浏览
添加回答
举报
0/150
提交
取消