在MVC Controller的下拉列表中设置选定的值

时间:2016-05-12 10:24:02

标签: c# asp.net-mvc-4

我使用以下代码绑定下拉列表

模型

public IEnumerable<TitleNew> TitleOption =
    new List<TitleNew>
    {
        new TitleNew {Id = 0, Value = "---Select---"},
        new TitleNew {Id = 1, Value = "Mr."},
        new TitleNew {Id = 2, Value = "Ms."}
    };

public class TitleNew
{
    public int Id { get; set; }
    public string Value { get; set; }
}
public string Title { get; set; }

查看

@Html.DropDownListFor(m => m.Title,
                                 new SelectList(Model.TitleOption,
                                "Id", "Value",
                                 Model.TitleOption.First().Id))

我无法将所选值设置为下拉列表。所选值来自数据库,它为Title属性设置。 请帮帮我。

1 个答案:

答案 0 :(得分:1)

new TitleNew {Id = 0, Value = "---Select---"}看起来像一个选项标签,已经包含在dropdownlistfor的重载方法中。

因此,如果您希望这是所有用户在查看下拉列表时首先看到的选项,那么这应该有效:

public IEnumerable<TitleNew> TitleOption =
new List<TitleNew>
{
    new TitleNew {Id = 0, Value = "Mr."},
    new TitleNew {Id = 1, Value = "Ms."}
};

public class TitleNew
{
    public int Id { get; set; }
    public string Value { get; set; }
}
public string Title { get; set; }

查看:

@Html.DropDownListFor(m => m.Title, new SelectList(Model.TitleOption, "Id", "Value"), "-- Select -- ")