2011-04-08 70 views
0

我下面這個答案here,使用此代碼:多個複選框3剃刀

SomeControl.cshtml

@model Econo.WebUI.ViewModel.UserRoleViewModel 

@Html.HiddenFor(x => Model.UserId) 

@Html.EditorFor(x => Model.Roles) 

/Shared/EditorTemplates/Roles.cshtml

@model Econo.WebUI.ViewModel.RoleViewModel 

@Html.EditorFor(m => m.IsInRole) 
@Html.EditorFor(m => m.RoleId) 
@Html.EditorFor(m => m.RoleName) 

由於某種原因,此輸出僅爲:

<input id="UserId" type="hidden" value="1LS82" name="UserId"> 
FalseFalse 

FalseFalse顯示數據庫中有2個角色,用戶不在其中,這是正確的。但我需要一個帶有ID和名稱的複選框。還能夠將其提交回服務器以向用戶添加角色。

回答

1

您的部分錯誤地命名。它應該是~/Shared/EditorTemplates/RoleViewModel.cshtml而不是~/Shared/EditorTemplates/Roles.cshtml。然後:

@model Econo.WebUI.ViewModel.RoleViewModel 

@Html.CheckBoxFor(m => m.IsInRole) 
@Html.LabelFor(m => m.RoleName) 
@Html.HiddenFor(m => m.RoleId)