Asp.net mvc 使用实体框架将数据库中的值绑定到MVC中的下拉列表
我正在尝试将数据库中的值绑定到视图中的下拉列表 我需要在视图的下拉列表中显示数据库值。我正在尝试将电子邮件id绑定到数据库表的下拉列表 在这里,我需要将电子邮件ID添加到下拉列表中。这是我的模型Asp.net mvc 使用实体框架将数据库中的值绑定到MVC中的下拉列表,asp.net-mvc,asp.net-mvc-4,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 4,Asp.net Mvc 3,我正在尝试将数据库中的值绑定到视图中的下拉列表 我需要在视图的下拉列表中显示数据库值。我正在尝试将电子邮件id绑定到数据库表的下拉列表 在这里,我需要将电子邮件ID添加到下拉列表中。这是我的模型 public class UserDetails { public List<SelectListItem> Userdetails { get; set; } public string Email { get; set; } } 这是我的看法, @mode
public class UserDetails
{
public List<SelectListItem> Userdetails { get; set; }
public string Email { get; set; }
}
这是我的看法,
@model List<MVC_Sample.Models.UserDetails>
<div class="dropdown">
@Html.DropDownList("CategoryID", (SelectList)ViewBag.Categories, "--Select One--")
</div>
@型号列表
@Html.DropDownList(“CategoryID”,(SelectList)ViewBag.Categories,“--Select One--”)
视图将加载下拉列表和数据库中的值。但不幸的是,我无法添加下拉列表中的值。我不知道我哪里做错了。有人能帮我吗?由于其他用户在评论中向您咨询,问题可能是,
CategoryID
和CategoryName
在thqquery
但是,我通常更喜欢将下拉列表绑定到列表
,而不是绑定到选择列表
,因为这样更容易创建强类型查询
我将更改控制器上的这些行:
var query = db.tblEmployees.Select(c => new { c.Email });
ViewBag.Categories = new SelectList(query.AsEnumerable(), "CategoryID", "CategoryName");
致:
致:
@Html.DropDownList(“CategoryID”,(List)ViewBag.Categories,“--选择一个--”)
什么是CategoryID和CategoryName??您确定CategoryID
和CategoryName
而不是Email
作为文本和值字段作为SelectList
传递查看吗?您可能想使用ViewBag.Categories=new SelectList(query.AsEnumerable(),“Email”,“Email”)代码>。您甚至没有将模型返回到视图,并且您的@model List
毫无意义。是否要创建多个下拉列表(每个UserDetails
)一个?您的查询毫无意义——它只返回一个属性,不包含属性CategoryID
和CategoryName
。你想在这里做什么?OP有一个属性List Userdetails
,因此应该分配它,而不是ViewBag
——并且在视图@Html.DropDownListFor(m=>m.CategoryID,Model.Userdetails,“…”
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--")