沒有具有'UserName'鍵的'IEnumerable'類型的ViewData項。 在視圖中有2個下拉列表 - 對於用戶和角色,提交後我需要爲選擇的用戶保存角色。與角色一切都好,但用戶的麻煩。我有列表中的用戶列表,但我不能讀取數據庫。如果使用Html.TextBox(「用戶名」) - 它的作品,但管理員將手動寫入用戶名,這是不好的。 我不是MVC的專家,所以apreciate任何幫助。 控制器:沒有類型爲'IEnumerable <SelectListItem>'的ViewData項具有'UserName'鍵'
UsersContext db = new UsersContext();
public ActionResult Index()
{
SelectList list = new SelectList(Roles.GetAllRoles());
ViewBag.Roles = list;
List<SelectListItem> items = new List<SelectListItem>();
foreach (var user in db.UserProfiles.ToList())
{
SelectListItem li = new SelectListItem
{
Value = user.UserName,
Text = user.UserName
};
items.Add(li);
}
ViewBag.UserName = items;
return View(db.UserProfiles.ToList());
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Index(string RoleName, string UserName)
{
SelectList list = new SelectList(Roles.GetAllRoles());
ViewBag.Roles = list;
return View();
}
模型SimpleMembershipprovider,是與項目創建的。
查看:
@model IEnumerable<UserProfile>
@Html.DropDownList("UserName", ViewBag.UserName as SelectList) - here mistake
我應該怎麼做來解決?