如果我有这样的方法:
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的重载方法来做到这一点,但这可以按我上面描述的方式完成吗?
感谢任何帮助。
答案 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" } )
这保存了该记录中该字段的值。