由于我以前从未在MVC中使用过下拉列表,因此在创建一个时遇到问题。 我查了一下,但我不理解。我想在MVC3中为“Gender”创建一个基本的下拉列表。
到目前为止,我已经能够创造这个。
类别:
public Dictionary<int, string> Gender {get;set; }
public StudentInformation()
{
Gender = new Dictionary<int, string>()
{
{ 0, "Male"},
{ 1, "Female"},
};
}
查看:
@Html.DropDownListFor(model => model.Gender.Keys,
new SelectList(
Model.Gender,
"Key",
"Value"))
但它抛出异常“对象引用未设置为对象的实例”。
答案 0 :(得分:0)
答案 1 :(得分:0)
以下是我的解决方案,
public class Blog {
private readonly IList<Post> _list = new List<Post> {
new Post(1, "How to 1"),
new Post(2, "How to 2"),
new Post(3, "How to 3"),
new Post(4, "How to 4"),
new Post(5, "How to 5")
};
public SelectList Posts {
get {
return new SelectList(_list, "PostId", "Title");
}
}
public int? SelectedPostId { get; set; }
}
public class Post {
public Post(int postId, string title) {
PostId = postId;
Title = title;
}
public int PostId { get; set; }
public string Title { get; set; }
}
//The View:
@Html.DropDownFor(o => o.SelectedPostId, Model.Posts)
以下是更多解释的链接:
答案 2 :(得分:-1)
试试这个......
控制器
var value = new SelectList(new[]
{
new {ID="1",Name="ISO 9001"},
new{ID="2",Name="BIS Hallmark"},
new{ID="3",Name="ISI"},
});
ViewData["values "] = value
查看
@Html.DropDownList("Cert", (SelectList)ViewData["Certification"], "--Select--", new { @class="dropdownlist" ,id = "Cert" })