2013-07-15 1 views
0

그룹  사용자 할당 모듈에서 작업하고 있습니다.특정 값을 기준으로 확인란 상태를 변경하는 방법 및 확인란 목록을 서버에 게시하는 방법

  1. Group이 들어
    나는 두 가지 모델이있다. 스토어 그룹 정보.
  2. UserGroup. 그룹과 사용자 간의 연결에 대한 정보를 저장하십시오 (UserID, GroupID).
  3. 광고 사용자이므로 나는 사용자를위한 테이블을 가지고 있지 않습니다. 모든

먼저 나는 다음과 같은 Action Method을 썼다 :

public ViewResult Details(int id) { 
    ViewBag.ADUsers = repository.GetADUsers(); 
    return View(repository.FindAllGroup(id)); 
} 

repository.GetADUsers 현재 액티브 디렉토리 내에서 모든 사용자를 검색 할 경우.
보기는 다음과 같다 :

@model TMS.Models.Group 

<h2> Assign Users To the Group</h2> 
@foreach (var ad in ViewBag.ADUsers) { 
    <tr> 
     <td> 
      <div >@ad.SamAccountName </div> 
     </td> 
    </tr> 
} 

을하지만 이러한 주요 기능을 포함하기 위해 확장 할 수있는 방법.

  1. 현재 모든 AD 사용자의 목록을 표시하고 있습니다. 하지만 SamAccoutnName 옆에 CheckBox을 추가해야합니다.
  2. GroupSamAccountName이 이미 할당되어있는 경우 CheckBoxchecked = true이어야하며 그렇지 않은 경우 checked = false이어야합니다.
  3. CheckBox es의 목록을 수락하고 그에 따라 UserGroup 테이블을 업데이트하는 AssignUsersGroup Post 작업 메서드를 추가하려면 다음을 수행하십시오.

답변

0

나는 현재 내가 모든 AD 사용자의 목록을 표시하고 1과 2가 아니라 3

  1. 에 응답 할 수 있습니다. 하지만 SamAccoutnName 옆에 CheckBox를 추가해야합니다.
  2. SamAccountName이 이미 그룹에 할당되어 있으면 CheckBox를 true로 검사해야합니다. 그렇지 않으면 검사 할 때 = false 여야합니다.

    @foreach (var ad in ViewBag.ADUsers) { 
        <tr> 
         <td> 
          @if (ad.isInGroup) 
          { 
           <input type="checkbox" name="@ad.SamAccountName" checked="checked"> 
          } 
          else 
          { 
           <input type="checkbox" name="@ad.SamAccountName" checked=""> 
          } 
          <div >@ad.SamAccountName </div> 
         </td> 
        </tr> 
    } 
    

    당신은 아마 것을 변경하려면 :

당신은 상태가 "확인"를 확인하기 위해 if 문을 사용하여 다음의 foreach에 체크 박스의 HTML을 추가 할 필요가 해당 항목을 나란히 배치하려면 범위 <span><div>을 입력하십시오.

또한 내 예제에서는 "광고"개체가이 그룹에 속해 있는지 여부를 나타내는 속성이 있다고 가정합니다. 이를 확인하기 위해 현재 사용하고있는 방법을 사용해야합니다.

2
List<TypeOfListReturn> ADUsersList = ViewBag.ADUsers as List<TypeOfListReturn>; 

foreach (var ad in ADUsersList) 
{ 
<table> 
    <tr> 
     <td> 
      <div> 
       @ad.SamAccountName 
       @Html.CheckBox("chk_" + ad.SamAccountName, ad.isInGroup) 
      </div> 
     </td> 
    </tr> 
</table> 
} 

이것은 1 번과 2 번에 대한 답변입니다. 세 번째로는 모델을 사용하는 것이 좋습니다.모델을 사용하여 이름과 확인란을 바인딩하면 다시 게시 할 때 확인란의 값이 반환됩니다.

+0

+1, 내 접근 방식보다 깨끗합니다. – jadarnel27

관련 문제