使用实体框架将数据库中的值绑定到 MVC 中的下拉列表
Bind values from database to dropdown in MVC with Entity frame work
我正在尝试将数据库中的值绑定到视图中的下拉列表。
我有一个要求,我需要在视图的下拉列表中显示数据库值。我正在尝试将电子邮件 ID 绑定到数据库 table.
的下拉列表
这里我需要将电子邮件 ID 添加到下拉列表中。这是我的模特,
public class UserDetails
{
public List<SelectListItem> Userdetails { get; set; }
public string Email { get; set; }
}
这是我的控制器,
public ActionResult Admin()
{
var db = new DataEntities1();
var query = db.tblEmployees.Select(c => new { c.Email });
ViewBag.Categories = new SelectList(query.AsEnumerable(), "CategoryID", "CategoryName");
return View();
}
这是我的观点,
@model List<MVC_Sample.Models.UserDetails>
<div class="dropdown">
@Html.DropDownList("CategoryID", (SelectList)ViewBag.Categories, "--Select One--")
</div>
视图将加载下拉列表和数据库中的值。但不幸的是,我无法添加要下拉的值。我在这里做错了。谁能帮我解决这个问题..
正如其他用户在评论中评论您一样,问题可能是 CategoryID
和 CategoryName
没有出现在 thq query
上
但是,我通常更喜欢将下拉列表绑定到 List<SelectListItem>
,而不是将其绑定到 SelectList
,因为这样可以更轻松地创建强类型查询。
我会在控制器上更改这些行:
var query = db.tblEmployees.Select(c => new { c.Email });
ViewBag.Categories = new SelectList(query.AsEnumerable(), "CategoryID", "CategoryName");
收件人:
List<SelectListItem> query = db.tblEmployees.Select(c => new SelectListItem { Text = c.Email, Value = c.CategoryId }).toList();
ViewBag.Categories = query;
然后,在视图中。你应该改变
@Html.DropDownList("CategoryID", (SelectList)ViewBag.Categories, "--Select One--")
收件人:
@Html.DropDownList("CategoryID", (List<SelectListItem>)ViewBag.Categories, "--Select One--")
我正在尝试将数据库中的值绑定到视图中的下拉列表。
我有一个要求,我需要在视图的下拉列表中显示数据库值。我正在尝试将电子邮件 ID 绑定到数据库 table.
的下拉列表这里我需要将电子邮件 ID 添加到下拉列表中。这是我的模特,
public class UserDetails
{
public List<SelectListItem> Userdetails { get; set; }
public string Email { get; set; }
}
这是我的控制器,
public ActionResult Admin()
{
var db = new DataEntities1();
var query = db.tblEmployees.Select(c => new { c.Email });
ViewBag.Categories = new SelectList(query.AsEnumerable(), "CategoryID", "CategoryName");
return View();
}
这是我的观点,
@model List<MVC_Sample.Models.UserDetails>
<div class="dropdown">
@Html.DropDownList("CategoryID", (SelectList)ViewBag.Categories, "--Select One--")
</div>
视图将加载下拉列表和数据库中的值。但不幸的是,我无法添加要下拉的值。我在这里做错了。谁能帮我解决这个问题..
正如其他用户在评论中评论您一样,问题可能是 CategoryID
和 CategoryName
没有出现在 thq query
但是,我通常更喜欢将下拉列表绑定到 List<SelectListItem>
,而不是将其绑定到 SelectList
,因为这样可以更轻松地创建强类型查询。
我会在控制器上更改这些行:
var query = db.tblEmployees.Select(c => new { c.Email });
ViewBag.Categories = new SelectList(query.AsEnumerable(), "CategoryID", "CategoryName");
收件人:
List<SelectListItem> query = db.tblEmployees.Select(c => new SelectListItem { Text = c.Email, Value = c.CategoryId }).toList();
ViewBag.Categories = query;
然后,在视图中。你应该改变
@Html.DropDownList("CategoryID", (SelectList)ViewBag.Categories, "--Select One--")
收件人:
@Html.DropDownList("CategoryID", (List<SelectListItem>)ViewBag.Categories, "--Select One--")