【发布时间】:2012-02-22 17:05:30
【问题描述】:
在我的应用程序中,我已将UserId 关联到数据库中的一个表。我需要在创建新项目时从下拉列表中选择用户名。并且'可以用元素 viewbag 做到这一点吗?
@Html.EditorFor(model => model.UserId)
我使用默认的会员提供程序,所以我不能使用实体框架来解决这个问题
编辑
编辑 2
这是我的创建动作:
[HttpPost]
public ActionResult Create(Employe employe)
{
var users = Roles.GetUsersInRole("Admin");
SelectList list = new SelectList(users);
ViewBag.Users = list;
if (ModelState.IsValid)
{
**employe.EmployeID = users;**
db.Employes.Add(employe);
db.SaveChanges();
}
这不起作用。错误是:
无法将类型'string[]'隐式转换为'string'
Employee我的模型
public class Employee
{
[Key]
public int EmployeID { get; set; }
public Guid UserId { get; set; }
public string Name { get; set; }
[ForeignKey("UserId")]
public virtual MembershipUser User
{
get
{
return Membership.GetUser(this.Name); //Changed this to Name
}
}
}
}
查看:
@Html.DropDownList("Users", ViewBag.Users as SelectList);
我在UserId 字段中的结果不是UserId,而是000000-000000-0000000-00000
【问题讨论】:
标签: asp.net-mvc drop-down-menu html.dropdownlistfor roleprovider