前台代碼:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="left.aspx.cs" Inherits="insider_left" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
    <STYLE type="text/css">
                .ttl { CURSOR: hand; COLOR: #ffffff; PADDING-TOP: 4px }
                A:active{COLOR: #000000;TEXT-DECORATION: none}
                A:hover{COLOR: #000000;TEXT-DECORATION: none}
                A:link{COLOR: #000000;TEXT-DECORATION: none}
                A:visited{COLOR: #000000;TEXT-DECORATION: none}
                TD {
             FONT-SIZE: 12px; FONT-FAMILY: "Verdana", "Arial", "细明体", "sans-serif"
                }
   </STYLE>
   <SCRIPT language="JavaScript">
         function showHide(obj){
          var oStyle = obj.parentElement.parentElement.parentElement.rows[1].style;
          oStyle.display == "none" ? oStyle.display = "block" : oStyle.display = "none";
         }
   </SCRIPT>
</head>
<body style=" margin-left :0; margin-top :0;">
    <form id="form1" runat="server">
    <div>
    <asp:Repeater ID="LeftMenu" runat="server" OnItemDataBound="LeftMenu_ItemDataBound">
  <ItemTemplate>
        <TABLE cellSpacing="0" cellPadding="0" width="159" align="center" border="0">
          <TR>
           <TD width="23"><IMG height="25" src="data:image/Menu/box_topleft.gif" width="23"></TD>
           <TD class="ttl" onclick="javascript:showHide(this);" width="129" background="image/Menu/box_topbg.gif"><%# Eval("M_CName")%></TD>
           <TD width="7"><IMG height="25" src="data:image/Menu/box_topright.gif" width="7"></TD>
          </TR>
          <TR style="DISPLAY: none">
           <TD background='image/Menu/box_bg.gif' colSpan='3'>

<TABLE width='100%'>
                 <TBODY>
                 <asp:Repeater ID="LeftMenu_Sub" Runat="server" >
                 <ItemTemplate>
               <TR>
               <TD><IMG height='7' hspace='5' src='image/Menu/arrow.gif' width='5' align='absMiddle'>
                <asp:HyperLink ID ="Hyperlink1" Runat ="server" Target ="mainFrame" NavigateUrl='<%# Eval("M_Directory")%>'>
                 <%# Eval("M_CName")%>
                </asp:HyperLink>
               </TD>
              </TR>
              </ItemTemplate>
              </asp:Repeater>
                          </TBODY>
                         </TABLE>

</TD>
               </TR>
            <TR>
            <TD colSpan="3"><IMG height='10' src='image/Menu/box_bottom.gif' width='159'></TD>
            </TR>
         </TABLE> 
        </ItemTemplate>
</asp:Repeater> 
        </div>
    </form>
</body>
</html>

後台代碼:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class insider_left : System.Web.UI.Page
{
    publicADO ADO = new publicADO();
    protected void Page_Load(object sender, EventArgs e)
    {
        BindMenu();
    }
    private void BindMenu()
    {
        string vsql = "select * from sys_Module where M_Parent=1 order by [order]";
        DataSet myds = ADO.Cds(vsql);
        LeftMenu.DataSource = myds.Tables[0];
        LeftMenu.DataBind();
        
    }
    protected void LeftMenu_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        DataRowView rows = (DataRowView)e.Item.DataItem;
   //     DataView rows = (DataView)e.Item.DataItem;
        int ModuleID = Convert.ToInt32(rows["ModuleID"]);
        string Vsql = "select * from sys_Module where M_Parent=2 and M_PageCode="+ModuleID+" order by [order]";
        Repeater LeftSub = (Repeater)e.Item.FindControl("LeftMenu_Sub");
        DataTable mytb = ADO.Cds(Vsql).Tables [0];
        if (mytb.Rows.Count != 0)
        {
            LeftSub.DataSource = mytb;
            LeftSub.DataBind();
        }

/*   sys_ModuleTable s_Mt = (sys_ModuleTable)e.Item.DataItem;

QueryParam qp = new QueryParam();
        qp.Orderfld = " M_OrderLevel ";
        qp.OrderType = 0;
        qp.Where = string.Format("Where M_Close=0 and M_ParentID ={0}", s_Mt.ModuleID);
        int RecordCount = 0;
        ArrayList lst = BusinessFacade.sys_ModuleList(qp, out RecordCount);
        BusinessFacade.Remove_MenuNoPermission(lst);
        if (lst.Count > 0)
        {
            Repeater LeftSubID = (Repeater)e.Item.FindControl("LeftMenu_Sub");
            LeftSubID.DataSource = lst;
            LeftSubID.DataBind();
        }
        else
        {
            e.Item.Visible = false;
        }
      */

}
}

左列動態添加菜單Repeater的更多相关文章

  1. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (3):部署設定及應用 (转帖)

    說明:這一篇主要是說明如何將程式部署到Application Server,以及程式如何運作,產生的檔案置於何處,以及如何以瀏覽器呈現(Applet),或是當成桌面應用程式,或是 桌面Applet,這 ...

  2. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (2):JavaFX建立及程式碼說明 (转帖)

    說明:就如同標題一樣,前端會用到JavaFX.Swing.Java Web Start.Google Map 的技術, 後端就是JDBC.Servlet的技術,以及我們會簽署認證jar檔案,這樣才可存 ...

  3. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet (转帖)

    JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet 功能:這支程式的主要功能是將 javafx 與 swi ...

  4. [Xamarin] 動態載入Fragment (转帖)

    這篇我們來動態加入,一樣務求好懂簡單 1.一樣先將專案調整成3.0以上版本 2.首先建立自定Control的Layout \Resources\Layout\MyControlLayout1.axml ...

  5. 動態SQL運用實例

    動態SQL運用實例 語法8.1.6之前: EXECUTE IMMEDIATE dynamic_sql_string [INTO {define_var1 [, define_var2] ... | p ...

  6. 篇章三:[AngularJS] 使用AngularCSS動態載入CSS

    前言 使用AngularAMD動態載入Controller 使用AngularAMD動態載入Service 上列兩篇文章裡,介紹了如何如何使用AngularAMD來動態載入Controller與Ser ...

  7. 小林的VB6動態壁紙模擬程序

    本項目參考了以下資料[這可能對你理解程序運行有幫助]: https://github.com/Yinmany/WinWallpaper https://blog.csdn.net/breaksoftw ...

  8. [C#]動態叫用Web Service

    http://www.dotblogs.com.tw/jimmyyu/archive/2009/04/22/8139.aspx 摘要 Web Service對大家來說想必都不陌生,也大都了解Web S ...

  9. .net dropdownlist 動態顯示,指定字段

    dropdownlist 動態顯示,指定字段 this.ddlPermission.Items.Clear(); ,new ListItem("請選擇","") ...

随机推荐

  1. redis3.2装完后 其它机子访问爆protocol error, got 'n' as reply type byte

    服务器上装了reids3.2版本,配置文件中已将bind的选项注释掉, linux的iptables的redis端口也开放 其它机子的PHP访问redis爆“protocol error, got ' ...

  2. bzoj 5301 [Cqoi2018]异或序列 莫队

    5301: [Cqoi2018]异或序列 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 204  Solved: 155[Submit][Status ...

  3. django中模板变量与内置标签以及过滤器

    本文参考 官方文档 . 一  模板变量 格式: {{ variable_name }} variable_name   命名规则与变量命名规则类似,允许字符数字下划线,不允许标点. variable_ ...

  4. python 获取本机 IP

    原文 通过 UDP 获取本机 IP,目前见过最优雅的方法 这个方法是目前见过最优雅获取本机服务器的IP方法了.没有任何的依赖,也没有去猜测机器上的网络设备信息. 而且是利用 UDP 协议来实现的,生成 ...

  5. np.isin判断数组元素在另一数组中是否存在

    np.isin用法 觉得有用的话,欢迎一起讨论相互学习~Follow Me np.isin(a,b) 用于判定a中的元素在b中是否出现过,如果出现过返回True,否则返回False,最终结果为一个形状 ...

  6. 使用前端组件化思想修改todolist

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. codevs 3152 装箱问题3

    装箱问题3 http://codevs.cn/problem/3152/ 题目描述 Description 设有n种物品,记作A1.A2.….An,对应于每个Ai(1<=i<=n)都有一个 ...

  8. HDU 2176 基础NIM 输出方案

    普通的NIM,然后问先手必胜第一次操作后的所有局面. 对于一个必胜局面只要转变局面SG值为必败(SG=0)留给后手就行了. /** @Date : 2017-10-13 21:39:13 * @Fil ...

  9. 【转】(总结)Nginx配置文件nginx.conf中文详解

    本文转载自:http://www.ha97.com/5194.html 定义Nginx运行的用户和用户组 user www www; nginx进程数,建议设置为等于CPU总核心数 worker_pr ...

  10. Linux启动的流程

    2017年1月10日, 星期二 Linux启动的流程   null