我正在尝试在ASP.NET MVC 5中填充一个下拉列表,但没有成功。
控制器:
[AllowAnonymous]
[HttpGet]
public ActionResult PartialRegistrationRoles()
{
using (DBModels db = new DBModels())
{
List<Role> allRoles = db.Roles.ToList();
var roles = new SelectList(db.Roles.ToList(),"RoleName");
ViewData["DBRoles"] = roles.Items;
}
return View();
}
局部视图:
@using System.Collections
@using WorkFinder.Models
@model WorkFinder.Models.Role
<div class="form-group">
@Html.DropDownList("Roles", new SelectList((IEnumerable)
ViewData["DBRoles"]),"Roleid","RoleName")
</div>
实际下拉列表:
The drop down is just retrieving some SYSTEM.DATA.ENTITY...
浏览主视图时出错,但是下拉菜单显示为局部视图:
任何人都可以帮助我了解我在做什么错吗?
谢谢!
答案 0 :(得分:0)
首先,看看DropDownList和SelectList的重载方法。您很可能放错了支架,并打算这样做:
@Html.DropDownList("Roles", new SelectList((IEnumerable)ViewData["DBRoles"],"Roleid","RoleName"))
就将其称为局部视图而言,请显示相关代码(主视图),我将更新答案。