如何在 ASP.NET MVC 4 中仅使用 ViewBag 创建下拉列表?

How create Dropdown list only using ViewBag in ASP.NET MVC 4?

我这里有一个模型class..

public class MyDrop
{
    public int id { get; set; }
    public string value { get; set; }
}

在我的控制器中,我使用了这段代码....

public ActionResult Index(){

    var GenreLst = new List<MyDrop>();

    MyDrop a = new MyDrop();
    a.id = 1;
    a.value = "hello";

    MyDrop b = new MyDrop();
    b.id = 2;
    b.value = "hello2";

    GenreLst.Add(a);
    GenreLst.Add(b);
    ViewBag.ShowDropDown = new SelectList(GenreLst); 


}

然后在我看来我添加这段代码...

@Html.DropDownList("ShowDropDown", "All")

在 运行 之后 project.It 显示下拉列表。 但没有显示正确的值。

在页面源代码中它喜欢这样....

<select id="ShowDropDown " name="ShowDropDown "><option value="">All</option>
<option>DropDown.Models.MyDrop</option>
<option>DropDown.Models.MyDrop</option>
</select>

我该如何解决???

我被期待成这样.....

<select id="ShowDropDown " name="ShowDropDown "><option value="0">All</option>
<option value="1">hello</option>
<option value="2">hello2</option>
</select>

请帮忙......

public ActionResult Index(){

    var GenreLst = new List<MyDrop>();

    MyDrop a = new MyDrop();
    a.id = 1;
    a.value = "hello";

    MyDrop b = new MyDrop();
    b.id = 2;
    b.value = "hello2";

    GenreLst.Add(a);
    GenreLst.Add(b);
    ViewBag.ShowDropDown = new SelectList(GenreLst, "id", "value"); 


}

在您看来:

@{
SelectList list = ViewBag.ShowDropDown;
}

@Html.DropDownList("DROPDOWNID", list, "All")