在foreach中显示/隐藏div不起作用

时间:2018-06-20 14:40:22

标签: c# foreach visible

我们有在Site Master中创建的菜单。我们为每个员工分配一个组ID,以便他们可以有1个或20个我们要进行一次foreach获取该组#,并根据他们也可以访问的菜单显示/隐藏菜单。我似乎无法使用.Visible处理我的字符串值,因为它说Visible对字符串无效,因此请伸出手看看我能做什么。如果我对menu1.Visible进行硬编码,那么它的效果很好,但是尝试这样做,因此我不必执行一堆if语句,而只执行一个foreach,并且显示所有菜单(如果有意义)。这是我所拥有的,但无法正常工作。

// Get menus
    OleDbCommand getMenus = new OleDbCommand($"SELECT GRPID FROM LAEMPS WHERE EMPNO = '{empNo}'", cnDb9);
    OleDbDataAdapter da = new OleDbDataAdapter(getMenus);
    DataTable dt = new DataTable();
    da.Fill(dt);

    foreach(DataRow row in dt.Rows)
    {
        string menuId = "menu" + row[0].ToString();

        menuId.Visible = true;
    }

ASPX

<li runat="server" id="menu1" visible="false">
                        <a href="#it" data-toggle="collapse" class="collapsed"><i class="fa fa-desktop"></i> <span>IT</span> <i class="icon-submenu lnr lnr-chevron-down"></i></a>
                        <div id="it" class="collapse ">
                            <ul class="nav">
                                <li><a href="" class=""></a></li>
                            </ul>
                        </div>
                    </li>

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

FindControl(menuId).Visible = true;是金票。谢谢您的帮助