ASP.NET Repeater嵌套Repeater实现菜单加载
在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实现菜单加载的更多相关文章
- abp web.mvc项目中的菜单加载机制
abp中的菜单加载机制 在abp中菜单的定义与我们传统写的框架不一样,它是在编写代码的时候配置,而我们一般写的通用权限管理系统中,是后期在后台界面中添加的.这一点有很大不同.abp关于菜单的定义及管理 ...
- ASP.NET MVC3 Razor 调试与预加载
目录(?)[-] 获取服务器信息 FormsAuthenticationSlidingExpiration 属性 MVC3预加载 在ASP.NET MVC3开发中,调试中怎么也是不可缺少的,那对于 ...
- laravel 嵌套的渴求式加载
今天在通过需求表A查询场地类型表B,然后通过表B的场地类型id去查询表C场地类型名的时候遇到了一个小的问题. 需求表A的字段:id.user_id .name等等: 中间表B的字段:id.appeal ...
- 雷林鹏分享:jQuery EasyUI 树形菜单 - 树形菜单加载父/子节点
jQuery EasyUI 树形菜单 - 树形菜单加载父/子节点 通常表示一个树节点的方式就是在每一个节点存储一个 parentid. 这个也被称为邻接列表模型. 直接加载这些数据到树形菜单(Tree ...
- laravel with嵌套的渴求式加载
今天在通过需求表A查询场地类型表B,然后通过表B的场地类型id去查询表C场地类型名的时候遇到了一个小的问题. 需求表A的字段:id.user_id .name等等: 中间表B的字段:id.appeal ...
- AutoCAD菜单加载失败 找不到文件mnc 怎么办
菜单加载失败,找不到文件 SWFILECONV(mnu/mns/mnc) 找到CAD安装目录下的swfileconv.arx文件,用记事本打开,清空内容,然后保存即可.
- Repeater嵌套Repeater并取得嵌套Repeater里面的控件
前台代码: <asp:Repeater ID="RepeaterScene" runat="server" OnItemDataBound=&quo ...
- ScrollView嵌套ListView,GridView数据加载不全问题的解决
我们大家都知道ListView,GridView加载数据项,如果数据项过多时,就会显示滚动条.ScrollView组件里面只能包含一个组件,当ScrollView里面嵌套listView,GridVi ...
- asp.net中TreeView的大数据加载速度优化
由于数据量太大,加载树时间很长,所以进行了优化 前台 .aspx <asp:Panel ID="Panel2" runat="server" Height ...
随机推荐
- 常用Jquery插件整理
虽然自己也写过插件,但JQuery插件种类的繁多,大多时候,我还是使用别人写好的插件,这些都是我用了同类插件里较为不错的一些,今天就整理一下公开放出来. UI: jquery.HooRay(哈哈,自己 ...
- VS启用调试
今天访问127.0.0.1 发现 与localhost 不是访问的同一个内容. 于是乎,就向到了另一个方法来调试程序. 1.在IIS 建立站点 并指向程序源. 2.启动vs 调试→附加到进程→找到w ...
- 前端开发自学之JavaScript——显示当前时间
<html> <head> <title>JavaScript</title> <script language="javascript ...
- Redhat 一则关于路由及DNS配置的实例
安装了Redhat 7.2, 配置路由, 但发现路由重启之后,不能生效. 配置路由: touch /etc/sysconfig/static-router, 然后编辑路由信息如下. any defau ...
- 用NotePad如何实现大小写转换
1.小写转换大写 Ctrl + shift + U 2.大写转换小写 Ctrl + U
- 源码阅读 etherum-transactions.py
交易(transaction.py)的结构: fields = [ ('nonce', big_endian_int), ('gasprice', big_endian_int), ('startga ...
- bugs
2016-09-04 10:24:14.503 Scgl[1035:341694] You've implemented -[<UIApplicationDelegate> applica ...
- DOS基础命令
对服务(service)的操作 命令 功能 Net start 查看Windows开启的服务 Net stop [service name] 停止服务 net start [service name] ...
- SpringMVC常用配置-Controller中的各种配置(基于Java API和注解)
- ios 证书申请和发布流程
证书是什么? 上面这个就是我们申请好证书后,下载到本地的.cer文件,也就是常说的开发证书与发布证书的样式.这.cer文件格式的证书是让开发者使用的设备(也就是你的Mac)有真机调试,发布APP的权限 ...