在ASP.NET MVC 2,我想编写一个非常简单的下拉列表中赋予静态的选项。 比如我想“红”,“蓝”和“绿”之间提供选择。
Answer 1:
见这个MSDN文章和用法示例这里对堆栈溢出 。
比方说,你有以下的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 Colors = new List {
new Color {
ColorId = 1,
Name = "Red"
},
new Color {
ColorId = 2,
Name = "Blue"
}
};
在您看来,您可以创建一个下拉像这样列表:
n.MyColorId,
new SelectList(Colors, "ColorId", "Name")) %>
Answer 2:
Html.DropDownListFor(
model => model.Color,
new SelectList(
new List{
new { value = 0 , text = "Red" },
new { value = 1 , text = "Blue" },
new { value = 2 , text = "Green"}
},
"value",
"text",
Model.Color
)
)
%>
或者你可以写不上课,把这样的事情直接向视图。
Answer 3:
通过与词典在模型开始避免很多脂肪指法的
namespace EzPL8.Models
{
public class MyEggs
{
public Dictionary Egg { get; set; }
public MyEggs()
{
Egg = new Dictionary()
{
{ 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"))
Answer 4:
你好这里是如何我在一个项目中做到了:
@Html.DropDownListFor(model => model.MyOption,
new List {
new SelectListItem { Value = "0" , Text = "Option A" },
new SelectListItem { Value = "1" , Text = "Option B" },
new SelectListItem { Value = "2" , Text = "Option C" }
},
new { @class="myselect"})
我希望它可以帮助某人。 谢谢
Answer 5:
或者,如果它从一个数据库上下文是你可以使用
@Html.DropDownListFor(model => model.MyOption, db.MyOptions.Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }))
Answer 6:
随着“请选择一个项目”
@Html.DropDownListFor(model => model.ContentManagement_Send_Section,
new List { new SelectListItem { Value = "0", Text = "Plese Select one Item" } }
.Concat(db.NameOfPaperSections.Select(x => new SelectListItem { Text = x.NameOfPaperSection, Value = x.PaperSectionID.ToString() })),
new { @class = "myselect" })
从码导出: 主程序员 && 乔尔Wahlund;
王参考: https://stackoverflow.com/a/1528193/1395101 JaredPar;
感谢主程序员 && 乔尔Wahlund && JaredPar;
祝你好运朋友。
Answer 7:
@using (Html.BeginForm()) {
Do you like pizza?
@Html.DropDownListFor(x => x.likesPizza, new[] {
new SelectListItem() {Text = "Yes", Value = bool.TrueString},
new SelectListItem() {Text = "No", Value = bool.FalseString}
}, "Choose an option")
}
我想这个答案是类似培拉特的,因为你在视图中把所有的代码为您的DropDownList直接。 但我认为这是创造AY / N(布尔)下拉列表中的一个有效的方法,所以我想分享。
一些注意事项对于初学者:
不要担心什么“X”叫的 - 在这里创建,是第一次,并且不链接到别的其他地方的MVC应用程序,所以你可以把它你想要什么 - “X”, “模型”,“M”等
用户将在下拉列表中看到的占位符“选择一个选项”,所以如果你愿意,你可以改变这一点。
有一点下降,这表示,降先前文本中“你喜欢比萨饼?”
这应该是一个完整的表格文本,包括一个提交按钮,我想
希望这可以帮助别人,
文章来源: How to write a simple Html.DropDownListFor()?