0

次のような jqgrid とボタンの画像列があります。

ボタン | サンプル1 | 赤い
ボタン | サンプル2 | 青い
ボタン | サンプル3 | 赤い
ボタン | サンプル4 | 赤い
ボタン | サンプル5 | 青い
ボタン | サンプル6 | 緑

する必要があるのはこれです:

ユーザーのセッション ID が赤の場合 Session["Color"] = red;

赤ではないすべてのボタンが無効になります。他の色と同じ。

ただし、セッションの色がない場合。列を非表示にするだけです

ここに私のサンプルコードがあります:

var sessionColor = '<%=Session["Color"]%>';
    if (sessionColor == 'red') { 
                    // code here
                    // hide button green and blue
                   }
                   if (sessionColor == 'green') {
                       // code here
                       // hide button red and blue
                   }
                   if (sessionColor == 'blue') {
                       // code here
                       // hide button gren and blue
                   }
                   else { //hide all button}

問題:「赤」セッションのユーザーがログインする場合、ボタンを無効にするにはどうすればよいですか?

4

1 に答える 1

0

ボタン コレクションのアイデアを試してください。以下のコードを参照してください。

var sessionColor = Session["Color"].ToString();
                if (sessionColor == "red")
                {
                    var buttons = ButtonPanel.Controls.OfType<Button>();
                    foreach (var button in buttons)
                    {
                        if (button.BackColor == Color.Red)
                        {
                            button.Visible = true;
                        }
                        else
                        {
                            button.Visible = false;
                        }
                    }

                }
                else if (sessionColor == "green")
                {
                    var buttons = ButtonPanel.Controls.OfType<Button>();
                    foreach (var button in buttons)
                    {
                        if (button.BackColor == Color.Green)
                        {
                            button.Visible = true;
                        }
                        else
                        {
                            button.Visible = false;
                        }
                    }
                }
                else if (sessionColor == "blue")
                {
                    var buttons = ButtonPanel.Controls.OfType<Button>();
                    foreach (var button in buttons)
                    {
                        if (button.BackColor == Color.Blue)
                        {
                            button.Visible = true;
                        }
                        else
                        {
                            button.Visible = false;
                        }
                    }
                }
                else
                {
                    var buttons = ButtonPanel.Controls.OfType<Button>();
                    foreach (var button in buttons)
                    {
                        button.Visible = false;

                    }
                }
于 2012-12-21T05:37:44.923 に答える