0

IsAdminがtrueであるかどうかを確認しようとしています。これはブール値です。trueの場合、グリッドビューEditItemTemplateでチェックボックスがオンになります。

クエリは、グリッドビューが編集モードにあり、編集中のユーザーがすでに管理者である場合です。行を更新し、チェックボックスがチェックされていない場合、管理者ではなくなるため、チェックボックスがtrueであるかどうかをチェックする必要があります。

私が考えているのは、クエリがこれを実行できるはずだということです。しかし、IsAdmin==trueを実装する方法がわかりません。

private void LoadGridEdit()
{
using (dbDataContext _db = new dbDataContext())
{
    var result = from u in _db.tbl_Users
                    where u.Deleted == false
                select new
                        {
                            u.UserId,
                            u.UserName,
                            u.Email,
                            u.IsAdmin,
                            u.tbl_ServiceArea.ServiceArea,
                        };

    if ()
    {
        //????   or foreach?
    }
    // Bind Here
}
}

私はさまざまなオプションを調べて試しましたが、よくわかりません。

4

4 に答える 4

3

GridView テンプレートで CheckBox を使用してみて、その Checked プロパティを次のように IsAdmin 値にバインドするように設定しましたか?

<asp:CheckBox ID="chbIsAdmin" runat="server" Checked='<%# Bind("IsAdmin") %>' />

編集:

申し訳ありませんが、管理者が自分の権限を誤って削除したという記事を読みました。私があなたのブーツの中にいたなら、こんなことはさせません。管理者は自分の権限を削除できません。これにより、少なくとも 1 人の管理者が存在することが保証されます。

于 2013-02-19T10:26:04.523 に答える
0

この LinQ クエリはオブジェクトを返します。ステートメントIEnumerableで列挙できます。foreach

于 2013-02-19T10:20:21.827 に答える
0

そんな感じ:

var result = _db.tbl_Users.Where(u=> u.Deleted == false).Select(e=> new
                    {
                        u.UserId,
                        u.UserName,
                        u.Email,
                        u.IsAdmin,
                        u.tbl_ServiceArea.ServiceArea,
                    }.ToList();

foreach(var res in result)
{
    if(res.IsAdmin)
    {
     // Do SOmething
    }
}

すみませんが、SQLライクなlinqが嫌いなので、そのように書きました。それが役立つことを願っています。

于 2013-02-19T10:21:53.283 に答える
0

resultIEnumerableプロパティを含むオブジェクトを介してを返しますIsAdmin。次のように doを持つ各要素に対してアクションを実行する場合IsAdmin == true:

var resultsWithAdminIsTrue = from r in result
                             where r.IsAdmin
                             select r;

foreach (var r in resultsWithAdminIsTrue)
{
    /* Do action */
}
于 2013-02-19T10:26:01.663 に答える