在KS系统中要实现从数据库中读取界面权限文件实现菜单、界面的动态加载。

效果图:

ASP.NET界面代码

   <div id="menu-container">
<asp:Repeater ID="rpMenu" runat="server" onitemdatabound="rpMenu_ItemDataBound">
<ItemTemplate>
<div class="menu-tit" id="MenuName">
<asp:HiddenField ID="hfMenuID" runat="server" Value='<%#Eval("Id") %>' />
<%#Eval("MenuName") %></div>
<div class="menu-list">
<div class="top-line">
</div>
<ul class="nav-items">
<asp:Repeater ID="rpWindows" runat="server">
<ItemTemplate>
<li><a href='<%#Eval("WindowsURL") %>' target="content" id="WindwosName"><%#Eval("WindowsName") %></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div> </ItemTemplate>
</asp:Repeater>
</div>

C#界面后台代码

 public partial class AdmWelcom : System.Web.UI.Page
{ protected void Page_Load(object sender, EventArgs e)
{
string strLike="";
DataBindMenu(strLike);
} public void DataBindMenu(string strLike)
{
DataTable dtMenu= new DataTable();
AdmMenuManager admMenuManager = new AdmMenuManager();
//查询菜单
dtMenu = admMenuManager.QueryMenu(strLike);
rpMenu.DataSource =dtMenu;
rpMenu.DataBind();
} protected void rpMenu_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rpWindows = e.Item.FindControl("rpWindows") as Repeater;
HiddenField hfMenuID=e.Item .FindControl ("hfMenuID") as HiddenField;
DataTable dt = new DataTable();
string strLike = "";
BLL.AdmMenuManager admMenuManager = new AdmMenuManager();
string strMenuID = hfMenuID.Value.ToString().Trim() ;
strLike = " TR_MenuWindows.MenuID='" + strMenuID + "'";
//查询界面下的窗体
dt = admMenuManager.QueryMenuWindows(strLike);
rpWindows.DataSource = dt;
rpWindows.DataBind(); }
}
}

ASP.NET Repeater嵌套Repeater实现菜单加载的更多相关文章

  1. abp web.mvc项目中的菜单加载机制

    abp中的菜单加载机制 在abp中菜单的定义与我们传统写的框架不一样,它是在编写代码的时候配置,而我们一般写的通用权限管理系统中,是后期在后台界面中添加的.这一点有很大不同.abp关于菜单的定义及管理 ...

  2. ASP.NET MVC3 Razor 调试与预加载

    目录(?)[-] 获取服务器信息 FormsAuthenticationSlidingExpiration 属性 MVC3预加载   在ASP.NET MVC3开发中,调试中怎么也是不可缺少的,那对于 ...

  3. laravel 嵌套的渴求式加载

    今天在通过需求表A查询场地类型表B,然后通过表B的场地类型id去查询表C场地类型名的时候遇到了一个小的问题. 需求表A的字段:id.user_id .name等等: 中间表B的字段:id.appeal ...

  4. 雷林鹏分享:jQuery EasyUI 树形菜单 - 树形菜单加载父/子节点

    jQuery EasyUI 树形菜单 - 树形菜单加载父/子节点 通常表示一个树节点的方式就是在每一个节点存储一个 parentid. 这个也被称为邻接列表模型. 直接加载这些数据到树形菜单(Tree ...

  5. laravel with嵌套的渴求式加载

    今天在通过需求表A查询场地类型表B,然后通过表B的场地类型id去查询表C场地类型名的时候遇到了一个小的问题. 需求表A的字段:id.user_id .name等等: 中间表B的字段:id.appeal ...

  6. AutoCAD菜单加载失败 找不到文件mnc 怎么办

    菜单加载失败,找不到文件 SWFILECONV(mnu/mns/mnc)   找到CAD安装目录下的swfileconv.arx文件,用记事本打开,清空内容,然后保存即可.  

  7. Repeater嵌套Repeater并取得嵌套Repeater里面的控件

    前台代码:    <asp:Repeater ID="RepeaterScene" runat="server" OnItemDataBound=&quo ...

  8. ScrollView嵌套ListView,GridView数据加载不全问题的解决

    我们大家都知道ListView,GridView加载数据项,如果数据项过多时,就会显示滚动条.ScrollView组件里面只能包含一个组件,当ScrollView里面嵌套listView,GridVi ...

  9. asp.net中TreeView的大数据加载速度优化

    由于数据量太大,加载树时间很长,所以进行了优化 前台 .aspx <asp:Panel ID="Panel2" runat="server" Height ...

随机推荐

  1. EasyTouch绑定事件在电脑上点击有效Android上无效的解决方法

    最近做一个RPG类的游戏发现使用EasyTouch虚拟摇杆插件在电脑上点击有效Android上无效,查找资料发现是Easy Joystick中的一个属性interaction type要设置成 Dir ...

  2. 对比SerialCommunication和微软的SerialPort,向SerialPort看齐

    SerialCommunication是我综合网上看到的代码稍作修改而成的串口通信类,而SerialPort则是C#的System类库的IO目录Ports子目录下的串口通信类.SerialCommun ...

  3. 开源战棋 SLG 游戏框架设计思考(二)规则系统要考虑的因素

    游戏对象 1. 地块方格 地形:山脉.丘陵.乔木林.灌木林.平原.河流.湖泊.海洋.雪原.沼泽.沙漠.暗礁.滩涂.岛屿等等(需完善) 设施:铁路.公路.桥梁.机场.城市.村庄.岸防炮.要塞.废墟等等( ...

  4. java面试问题整理-垃圾回收

    对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址.大小以及使用情况.通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象,通过这种方式确定哪些对象是"可达的" ...

  5. springMVC、https、GET调用别人提供的接口!!!

    import org.apache.http.HttpEntity; import org.apache.http.HttpHost; import org.apache.http.HttpStatu ...

  6. Tomcat与Jre绿色环境配置(生产环境)

    Tomcat与Jre绿色环境配置(生产环境) 博客分类: Apache Java jreapachetomcat  Tomcat运行时需要jre的支持,一般有两种方式,一种是用jdk带的jre,另一种 ...

  7. c语言编程

    1.常量和变量:变量是一块内存空间,该内存空间有类型约束,该内存中存放的数据可变. 变量三要素:类型,名称,值.常量:常量的数据永远不变,a:自变量,b:符合常量,c:预定义常量. 2.运算符和返回类 ...

  8. DotNetBar grid筛选 按时间筛选

    PatientDiaryPanel.Columns["RECORDDATE"].FilterExpr = string.Format("date(RECORDDATE) ...

  9. Find Missing Term in Arithmetic Progression 等差数列缺失项

    查找等差数列中的缺失项. e.g.Input: arr[] = {2, 4, 8, 10, 12, 14} Output: 6 Input: arr[] = {1, 6, 11, 16, 21, 31 ...

  10. 开启JMX功能,使JVisvualVM能够连接JVM

    -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.manageme ...