如何设置下拉列表的选定值?当下拉列表被绑定时,所选值/项应该是数据库中保存的最新数据。 这是我到目前为止所得到的:
控制器:
int userid = int.Parse(UserID);
if (!string.IsNullOrEmpty(UserID))
{
IEnumerable<SelectListItem> address = db.Address
.Where(c => c.UserID == userid)
.OrderByDescending(c => c.ID)
.Select(c => new SelectListItem
{
//make drop down list multi line
// display complete address
Value = c.ID.ToString(),
Text = c.StreetName + ", " + c.City
});
ViewBag.AddressID = address;
}
return View();
控制器:
@Html.DropDownList("AddressID", null, "Select Address", new { @class = "dropdown-toggle col-md-9 form-control" })
答案 0 :(得分:3)
试试这个
在其中我提到的Model.values
你传递的清单。
并且Value定义了下拉列表中每个选项的值。
并且Text定义了您可以在下拉列表中看到的Text值
并且我设置为4 id的值表示数据库中所选文本的值。
注意:new SelectList(Model.values, "Value", "Text", "4")
其中我定义的4是您所选地址的值。请传递区域中所选文本的值。
请尝试以下代码。
@Html.DropDownList("AddressID", new SelectList(Model.values, "Value", "Text", "4"), "Select Address", new { @class = "dropdown-toggle col-md-9 form-control" })
答案 1 :(得分:1)
执行以下操作
int userid = int.Parse(UserID);
if (!string.IsNullOrEmpty(UserID))
{
IEnumerable<SelectListItem> address = db.Address
.Where(c => c.UserID == userid)
.OrderByDescending(c => c.ID)
.Select(c => new SelectListItem
{
//make drop down list multi line
// display complete address
Value = c.ID.ToString(),
Text = c.StreetName + ", " + c.City
});
ViewData["DropDownSource"] = address.ToList();
}
return View();
在视图中
@Html.DropDownListFor(model => model.AddressID, new SelectList((System.Collections.IEnumerable)ViewData["DropDownSource"], "Value", "Text", Model.AddressID), "Select Address", new { @class = "dropdown-toggle col-md-9 form-control" })