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 回答