CMS项目经验

本文介绍如何使用 ASP.NET 和 C# 实现根据用户权限动态构建菜单的方法,包括利用 DataTable 存储权限信息,并通过遍历数据填充 HTML 结构。
<tr>
        
<% 
                                    
foreach (DataRow dr in dtApp.Rows)
                                    
{
          
%>
        
<td width="74" height="48" align="center" valign="middle" onclick="javascript: parent.leftFrame.location.replace('LeftMenu.aspx?app=<%=dr[0].ToString()%>');"  onMouseOver="this.className='over-img'" onMouseOut="this.className=''" onMouseDown="this.className='down-img'"  onMouseUp="this.className='up-img'">
         
<img src="icon/menulogo_big_1.gif" width="24" height="24"><br>
         
<span id="f1">
          
<%=dr[1].ToString() %>
         
</span></td>
        
<% 
                                    }

       
%>
       
</tr>

有框架时的跳转

 parent.LeftFrame.location.replace("LeftFrame.aspx?app="+appid);

根据用户权限来构建一个菜单:

一个发现:只要是容器都可以用这种方法来包含控件:this.divmeue.controls.Add(),不管是DIV还是PANEL

 HtmlGenericControl    这是定义一个控件,

 UserRight Ur = new UserRight();
            DataTable menu 
= Ur.GetSysApp(Session["uid"].ToString());
            HtmlGenericControl dl 
= new HtmlGenericControl("dl");
            
foreach(DataRow row in  menu.Rows)
            
{
                HtmlGenericControl dt 
= new HtmlGenericControl("dt");
                dt.Attributes.Add(
"class""topdt dt_w70");
                dt.InnerHtml 
= string.Format("<a href='#' onclick=ShowApp('{0}')>{1}</a>",row["app_id"].ToString(),row["app_detail"].ToString());
                dl.Controls.Add(dt);
            }

            
this.DivMenu.Controls.Add(dl);

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值