如何在MVC3中静态填充下拉列表

时间:2012-06-06 08:40:20

标签: asp.net-mvc-3

如何静态填写下拉列表(硬编码)

我有2件物品

Text =“Active”value =“A”

Text =“InActive”value =“I”

及以上保存在数据库中的值

谢谢,

1 个答案:

答案 0 :(得分:3)

如果要在视图中全部执行此操作,代码将如下所示:

@{
Dictionary<string, string> dictionary = new Dictionary<string, string>();
        dictionary.Add("Active", "A");
        dictionary.Add("InActive", "I");
        SelectList list = new SelectList(dictionary, "value", "key");
}
@Html.DropDownList("name", list)

此外,如果您想添加空白,它将如下所示:

@{
Dictionary<string, string> dictionary = new Dictionary<string, string>();
        dictionary.Add("", "");
        dictionary.Add("Active", "A");
        dictionary.Add("InActive", "I");
        SelectList list = new SelectList(dictionary, "value", "key");
}
@Html.DropDownList("name", list)

如果你想要选择一个特定的项目,它将如下所示:

@{
Dictionary<string, string> dictionary = new Dictionary<string, string>();
        dictionary.Add("", "");
        dictionary.Add("Active", "A");
        dictionary.Add("InActive", "I");
        SelectList list = new SelectList(dictionary, "value", "key", "I");
}
@Html.DropDownList("name", list)

注意我更改了添加SelectList参数的"I"行,这对应于'InActice'值,导致在页面加载时选择它。

此代码将在HTML中生成:

<select id="name" name="name">
    <option value="A">Active</option>
    <option selected="selected" value="I">InActive</option>
</select>

因此,如果这是静态的,你可以使用它。如果需要,您可以删除selected="selected"

我不确定你的意思是“保存到数据库中的上述值”,你有模型可以使用这些项吗?如果你编辑你的问题并添加一些你想要做的事情的例子,我可以帮助你更好。