我有一個表格中添加一個新用戶與用戶角色少數幾個複選框。我有我的行動稱爲用戶的模型,其具有以下特性:ASP.NET MVC:模型綁定半對象
public string Username { get; set; }
public string Password { get; set; }
public IEnumerable<UserRole> Roles { get; set; }
的UserRole的類中,我有兩個特性:
public int Id { get; set; }
public string Name { get; set; }
在我的形式,我可以成功地綁定到用戶名和密碼沒有通過輸入名稱'用戶名'和'密碼'來解決問題。當頁面最初加載用戶角色的細節被加載,所以我需要返回的是Id,因爲這是服務需要將用戶與用戶角色相關聯的內容。
我以爲我可以通過給每個複選框的角色ID的價值和傳遞,在與角色,因此部分完成角色類和離開作用對象空白的名稱字段該做的簡單方法。一個例子複選框看起來像這樣:
<input type="checkbox" id="addUserAdministrator" name="Roles.Id" value="@Model.Roles.Where(role => role.Name == "Administrator").Select(role => role.Id).First()" class="css-checkbox"/>
然而,這絕不填充角色集合,它始終是零。有沒有辦法做到這一點,或者我需要做一個漫長的方式來傳遞一個整數列表並在動作中創建模型?
編輯:
我的行動看起來是這樣的:
public RedirectToRouteResult Add(User user)
您是否使用了表單集合來檢索複選框中的值 – 2013-04-10 15:29:06
我已更新我的問題,我正在嘗試綁定到該對象 – Serberuss 2013-04-10 15:31:22
該操作需要用戶對象,但您似乎正在傳遞角色,可以你張貼整個表單代碼? – nik0lias 2013-04-10 15:38:19