从 List<SelectListItem> DDL 中获取 SelectedValue

Get SelectedValue from List<SelectListItem> DDL

如果我有这样的方法:

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" } )

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

我知道您可以使用 SelectList 的重载方法来完成此操作,但是可以按照我上面描述的方式来完成吗?

感谢任何帮助。

我想通了。

我改了:

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" } )

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