0

グループ  ユーザー割り当てモジュールに取り組んでいます。
このために、私は2つのモデルを持っています:

  1. Group. グループ情報を保存します。
  2. UserGroup. UserIDグループとユーザー ( 、 )の間の関連付けに関する情報を格納しますGroupID
  3. ユーザーは AD ユーザーであるため、ユーザー用のテーブルはありません。

まず第一に、私は次のように書きましたAction Method

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

repository.GetADUsersが現在 Active Directory 内にあるすべてのユーザーを取得する場所。
ビューは次のとおりです。

@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 ユーザーのリストを表示しています。CheckBoxしかし、 の横にを追加する必要がありSamAccoutnNameます。
  2. SamAccountNameが にすでに割り当てられている場合、はGroupであるCheckBox必要がありchecked = true、それ以外の場合は である必要がありますchecked = false
  3. AssignUsersGroup Post アクション メソッドを追加するには、es のリストを受け入れ、それに応じてテーブルCheckBoxを更新します。UserGroup
4

2 に答える 2

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の答えです。3 つ目については、モデルを使用することをお勧めします。モデルを使用して名前とチェック ボックスをバインドすると、ポスト バックでチェック ボックスの値が返されます。

于 2013-07-16T10:35:15.047 に答える
0

1と2は答えられますが、3は答えられません。

  1. 現在、すべての AD ユーザーのリストを表示しています。しかし、SamAccountName の横に CheckBox を追加する必要があります。
  2. SamAccountName が既にグループに割り当てられている場合は、CheckBox をチェック = true にする必要があります。それ以外の場合は、チェック = false にする必要があります。

チェックボックスの HTML を foreach に追加し、if ステートメントを使用して「チェック済み」条件を確認するだけです。

@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> 
}

これらのアイテムを並べて配置したい場合は、おそらくそれ<div>をスパンに変更したいと思うでしょう。<span>

また、私の例では、「広告」オブジェクトに、その人物がこのグループに属しているかどうかを示すプロパティがあると想定しています。それを確認するには、現在使用している方法を使用する必要があります。

于 2013-07-15T14:41:34.397 に答える