asp.net实现递归方法取出菜单并显示在DropDownList中(分栏形式)

本文实例讲述了asp.net实现递归方法取出菜单并显示在DropDownList中的方法。分享给大家供大家参考,具体如下:

树形栏目展示以DropDownList的形式显示出来。

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
      DataTable table = bllSite.GetChannelNames(CurrentUser.ParkID);
      BindChannelType(table, 0, 0);
    }
}
//递归方法取
private void BindChannelType(DataTable dt, int categoryid, int layer)
{
    DataView dv = new DataView(dt);
    dv.RowFilter = " Pid= " + categoryid.ToString(); //过滤
    if (categoryid != 0)
    {
      layer++; //默认为第一层
    }
    foreach (DataRowView drv in dv)
    {
      string span = "";
      if (categoryid != 0)
      {
        for (int i = 0; i < layer; i++)//父级菜单不缩进
        {
          span += " ";
        }
        span += "└";
      }
      ListItem li = new ListItem();
      li.Text = span + drv["ChannelName"].ToString();
      li.Value = drv["Id"].ToString();
      this.ddlChannel.Items.Add(li);
      BindChannelType(dt, Convert.ToInt32(drv["Id"]), layer);
    }
}

更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net字符串操作技巧汇总》、《asp.net操作XML技巧总结》、《asp.net文件操作技巧汇总》、《asp.net ajax技巧总结专题》及《asp.net缓存操作技巧总结》。

希望本文所述对大家asp.net程序设计有所帮助。

(0)

相关推荐

  • 递归输出ASP.NET页面所有控件的类型和ID的代码

    写一个方法: 复制代码 代码如下: private void DisplayAllControl(Control control, int step) { foreach (Control ctl in control.Controls) { string s = new string('-', step * 4) + ctl.GetType().Name + "〈" + ctl.ID + "〉"; Response.Write(s + "<br/&

  • Asp.net treeview实现无限级树实现代码

    先看看效果图: 先看看数据库表的设计,数据表主要包括ID,Name,ParentID这三项,其中ID是主键,ParentID对应节点的父节点: 方法一:用递归遍历数据,并将节点逐个添加到treeview中去. 1.先进行数据库连接和数据的读取,并将根节点先添加进treeview中,并利用递归getTreeView()实现数据的遍历和添加: 复制代码 代码如下: protected void Page_Load(object sender, EventArgs e) { if (!Page.IsP

  • asp.net TreeView递归循环子节点生成树形菜单实例

    本文实例讲述了asp.net TreeView递归循环子节点生成树形菜单的方法.分享给大家供大家参考,具体如下: 这里主要用到递归循环获取子结点 /// <summary> /// 生成根节点 /// </summary> /// <param name="treeview"></param> protected void BindTreeView(long ID, TreeView treeview) { DataTable dt =

  • Jquery.TreeView结合ASP.Net和数据库生成菜单导航条

    下面的例子将结合项目实际运用来使用Jquery.TreeView,当然在使用控件树需要现在相应的js文件 下面就把我生成的TreeView展现给大家看看希望对大家有所帮助!在使用之前需要下载控件树的js文件和Css样式 介绍一下表结构 M_ID M_Name M_ParentID M_URL M_Sort 然后新建一个网站,在新建的网站下添加CSS文件夹和js文件夹分别用于存放Css样式和JS,同时再添加一个image文件夹用于存放TreeView的图片 接着我们就开始实现我们的功能了! 前台代

  • asp.net TreeView与XML三步生成列表树

    刚我在做Tree view 绑定时自己摸索了一下,网上有人说TreeView绑定数据源,用什么递归绑定啥的,我不想看了,就自己试着写了一个我是这样做的,如果有什么问题请大神指导,我是菜鸟额..1:页面TreeView 叫tvFunction2:新建 adminFunction.xml 复制代码 代码如下: <?xml version="1.0" encoding="utf-8" ?><functions>  <function name

  • 常用的在数据库中建立无限级树形菜单的asp.net代码

    复制代码 代码如下: private DataTable GetTable(int topid) { DataTable dt = null; try { string constr = "server=.;database=tqnpc;uid=sa;pwd=sa"; string selstr = "select * from RW_工作关系 where main_id=" + topid + ""; SqlConnection con = n

  • ASP.NET递归法求阶乘解决思路

    前台: 复制代码 代码如下: <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> !<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="=" /> <asp:TextBox ID="Tex

  • asp.net 获取指定文件夹下所有子目录及文件(树形)

    #region 获取指定文件夹下所有子目录及文件(树形)         /****************************************          * 函数名称:GetFoldAll(string Path)          * 功能说明:获取指定文件夹下所有子目录及文件(树形)          * 参    数:Path:详细路径          * 调用示列:          *           string strDirlist = Server.M

  • asp.net实现DropDownList,TreeView,ListBox的无限极分类目录树

    本文实例讲述了asp.net实现DropDownList,TreeView,ListBox的无限极分类目录树.分享给大家供大家参考,具体如下: #region DropDownList无限递归显示层次关系 /// <summary> /// 创建无限分级下拉列表框 /// </summary> /// <param name="ddlst">下拉控件</param> /// <param name="dt">

  • ASP.NET生成树形显示的GridView实现思路

    目的:生成树形结构的表格数据(EasyUI也有TreeGrid,此处只是提供一个思路),可以扩展单击展开/收缩节点 图例: 类代码: 复制代码 代码如下: using System; using System.Data; /// <summary> ///GridViewHelper 的摘要说明 /// </summary> public class GridViewHelper { private string gridline; //连接线 private DataTable

随机推荐