在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. 如何完全卸载oracle11g?

    步骤一: 停止Oracle的所有服务. 步骤二: 运行%oracle_home%\app\Administrator\product\11.2.0\dbhome_1\deinstall \deinst ...

  2. 最难面试的IT公司之ThoughtWorks代码挑战——FizzBuzzWhizz游戏

    最近互联网招聘平台拉勾网在五一期间推出个“最难面试的IT公司”代码挑战活动,评选出了5个最难面试的IT公司,即:ThoughtWorks.Google.Unisys.Rackspace.Cypress ...

  3. EMF学习,为了实现可扩展可自定义的模型验证 - emf quary 与 OCL

    http://blog.csdn.net/javaman_chen/article/details/6020050 //这里的验证强调的是condition的构造,基于查找来判断验证结果.支持OCL也 ...

  4. 为Office365增加密码过期自动提醒功能

    最近有人和我反应,无法查看所有员工的Office365的密码过期时间.最好可以批量查看,如果能在过期前几天发个提醒邮件就更好了. $pw = ConvertTo-SecureString 'your_ ...

  5. bootstrap 3 中表单元素的写法 ---- 重点是 input file 元素的

    我们知道file元素,因为有许多的插件可以使用,往往我们不需要写样式,但是如果要求我们自己写样式(利用bootstrap 3)实现一个file极简样式如何写呢? 下面我们先来看看整个表单的样子! 重点 ...

  6. 修改applicationhost.config允许外部访问

    我本地修改代码的时候,可能产品啊想看看,目前实现的效果,或者让测试帮忙调调样式啥的,都需要链接到我们本地的网站. 首先打开  D:\我的文档\IISExpress\config下的 applicati ...

  7. jqxComboBox

    var uptype_source = [{ "TYPE_DESC": "总额度", " }, { "TYPE_DESC": &q ...

  8. Model View

    #include "dialog.h" #include "ui_dialog.h" #include<QtCore> Dialog::Dialog ...

  9. Error of "Please Check for Sufficient Write File Permissions"

    The error message “Please check for sufficient write file permissions” is generated by the Web-based ...

  10. exit和return的区别

     主要有几下几个不同点:     1. return返回函数值,是关键字:exit是一个函数.     2. return是语言级别的,它表示了调用堆栈的返回:而exit是系统调用级别的,它表示了一个 ...