【发布时间】:2016-09-27 18:40:10
【问题描述】:
如果我有这样的方法:
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;
}
然后在我的 Edit Action 我这样做:
ViewBag.PassFail = ClassName.lstPassFail();
然后在我的 Edit View 我这样做:
@Html.DropDownList("PassFail", (List<SelectListItem>)ViewBag.PassFail, "-- Please Select a Result --", htmlAttributes: new { @class = "form-control" } )
由于该记录已经存在于数据库中并且该字段已经有一个值,我如何显示该选定值,而不是 DDL 默认选择第一个选项?
我知道您可以使用 SelectList 的重载方法来做到这一点,但这可以按照我上面描述的方式完成吗?
感谢任何帮助。
【问题讨论】:
-
使用具有名为
PassFail的属性的模型而不是ViewBag? -
有什么理由不使用
@Html.DropDownListFor? -
@JamieD77 我想通了。我发布了我的答案
-
@GSerg 我想通了。我发布了我的答案
-
这是一个不使用 ViewBag,而是使用视图模型和
DropDownListFor辅助方法的解决方案。 What is the best ways to bind @Html.DropDownListFor in ASP.NET MVC5?
标签: asp.net-mvc html-select selectedvalue