asp.net mvc 3 razor中的多个复选框

时间:2011-04-08 16:40:24

标签: asp.net-mvc asp.net-mvc-3

我正在按照以下代码here回答这个问题:

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 个答案:

答案 0 :(得分: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)