"사용 권한"모음이 있습니다. 각 권한에는 Id, Name 및 HasPermission의 세 가지 등록 정보가 있습니다. 예를 들어, 다음과 같은 목적을 고려 그래서 :CheckBox 용 바인딩 방법
public class AccessPerm
{
int PermId {get;set;}
string PermName {get;set}
bool HasPerm {get;set;}
}
public class UserProfile
{
Collection<AccessPerm> UserPerms {get;set;}
}
그래서 내가 하나가 사용자의 권한을 설정할 수 있도록 체크 박스를 만들 수 CheckBoxFor 도우미를 사용하고 싶습니다. 상자를 체크하면 HasPerm이 참이어야합니다. 선택을 취소하면 HasPerm이 false 여야합니다. 내가 겪고있는 문제는 PermId와 HasPerm 속성을 모두 체크 박스에 바인딩하는 방법이 없다는 것입니다. HasPerm 속성을 바인딩하는 데 다음 코드를 사용했지만 PermId를 모르기 때문에 유용하지 않습니다.
<%
for(int ix=0; ix< Model.UserProfile.Perms.Count; ix++)
{
Html.CheckBoxFor(model => model.UserProfile.Perms[ix].HasPerm);
}
%>
이 코드는 실제로 HasPerm을 바인딩하며 올바른 값입니다. 그러나 나는 이드가 없기 때문에 아무 것도 할 수 없다. 제발 조언. 당신이 ID를 포함하여 POST 컨트롤러 행동에 동일한 목록을 얻을이 선택되어 있는지 여부 것
<% for(int ix = 0; ix < Model.UserProfile.Perms.Count; ix++) { %>
<%= Html.HiddenFor(model => model.UserProfile.Perms[ix].PermId) %>
<%= Html.CheckBoxFor(model => model.UserProfile.Perms[ix].HasPerm) %>
<% } %>
이 방법 :
감사합니다. Darin! 좋아, 나는 그것을 깨닫지 못하는듯한 느낌이 든다. LOL ...하지만 첫 번째 MVC 사이트에서 일하기 때문에 가끔 혼란 스럽습니다. 다시 한 번 감사드립니다! – essedbl