我们有在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>
任何帮助将不胜感激。
答案 0 :(得分:0)
FindControl(menuId).Visible = true;是金票。谢谢您的帮助