从列表中获取SelectedValue <selectlistitem> DDL

时间:2016-09-27 18:40:10

标签: asp.net-mvc html-select selectedvalue

如果我有这样的方法:

public static List<SelectListItem> lstPassFail()
{
    List<SelectListItem> lstPossiblePassFail = new List<SelectListItem>()
    {
        new SelectListItem() { Text = "Pass", Value = "Pass" },
        new SelectListItem() { Text = "Fail", Value = "Fail" },
    };

    return lstPossiblePassFail;
}

然后在我的编辑操作中执行此操作:

ViewBag.PassFail = ClassName.lstPassFail();

然后在我的编辑视图中执行此操作:

@Html.DropDownList("PassFail", (List<SelectListItem>)ViewBag.PassFail, "-- Please Select a Result --", htmlAttributes: new { @class = "form-control" } )

由于此记录已存在于数据库中,并且该字段已有值,如何显示该selectedvalue,而不是DDL默认选择第一个选项?

我知道你可以用SelectList的重载方法来做到这一点,但这可以按我上面描述的方式完成吗?

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我已经弄明白了。

我改变了:

ViewBag.PassFail = ClassName.lstPassFail();

ViewBag.PassFail = new SelectList(ClassName.lstPassFail(), "Value", "Text", chosenWTest.PassFail);

然后在我看来,我将下拉列表更改为此

@Html.DropDownList("PassFail", null, "-- Please Select a Result --", htmlAttributes: new { @class = "form-control" } )

这保存了该记录中该字段的值。