0
我有一個列表框的問題,我要添加驗證到您添加/編輯用戶的頁面,並且當頁面加載時,我添加一個模型狀態錯誤強制它停止,它抱怨我的列表框不包含任何數據與密鑰。與模型回發列表框問題
在網頁上,我有:
<p>
<label for="Email">E-post: *</label><br />
<%= Html.TextBox("Email", Model.User.Email)%>
<%= Html.ValidationMessage("Email", "*") %>
</p>
<p>
<label for="Password">Lösenord: *</label><br />
<%= Html.TextBox("Password", Model.User.Password) %>
<%= Html.ValidationMessage("Password", "*") %>
</p>
<p>
Användargrupper: <br />
<%= Html.ListBox("selUsergroups")%>
<br />
</p>
而在我的控制,我有:
public ActionResult UserEdit(int? userID)
{
User u;
if (userID == null)
{
u = new User();
}
else
{
u = _us.GetUsers(userID.Value).First();
u.Usergroups.Load();
}
List<int> selectedUsergroupIDs = new List<int>();
foreach (Usergroup item in u.Usergroups)
{
selectedUsergroupIDs.Add(item.UsergroupID);
}
MultiSelectList UsergroupID = new MultiSelectList(_ug.GetUsergroups(), "UsergroupID", "UsergroupName", selectedUsergroupIDs);
ViewData["UsergroupID"] = UsergroupID;
return View("UserEdit", new UserAdminEditViewModel { User = u, Usergroups = _ug.GetUsergroups(), selUsergroups = new MultiSelectList(_ug.GetUsergroups(), "UsergroupID", "UsergroupName", selectedUsergroupIDs) });
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult UserEdit([Bind(Include = "UserID,Username,Firstname,Surname,Email,Password")]User userobj, int[] UsergroupID, int[] selUsergroups)
{
ModelState.AddModelError("asdfasfd", "asfdasdfsfd");
if (ModelState.IsValid)
{
try
{
_us.SaveUser(userobj);
if (UsergroupID != null)
_us.SaveUserUsergroups(userobj.UserID, UsergroupID);
return RedirectToAction("UserDetail", new { userID = userobj.UserID });
}
catch
{
ModelState.AddModelError("SomeError", "errrrrrrrrror");
}
}
return View("UserEdit", new UserAdminEditViewModel { User = userobj });
}
我的模式是這樣的:
public class UserAdminEditViewModel
{
public User User { get; set; }
public IEnumerable<Usergroup> Usergroups { get; set; }
public PaginatedList<User> Users { get; set; }
public MultiSelectList selUsergroups { get; set; }
public UserAdminEditViewModel() {}
}
我一直在努力與「IEnumerable用戶組」和「公共MultiSelectList selUsergroups {get; set;}」,但它仍然抱怨沒有數據w ith關鍵性評論有IEnumerable
需要做什麼?我寧願使用一些強類型的方式。
在此先感謝
/M
是的,我一直在尋找這幾個星期了,並且無法讓我的工作 – 2009-09-11 06:46:30