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

 更新时间:2016年06月06日 08:58:44   作者:冇一朵小尐尒尕尗尛尜  
这篇文章主要介绍了asp.net实现递归方法取出菜单并显示在DropDownList中的方法,涉及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程序设计有所帮助。

相关文章

  • asp.net发邮件示例

    asp.net发邮件示例

    这篇文章主要介绍了asp.net发邮件示例,需要的朋友可以参考下
    2014-04-04
  • asp.net Cookie操作类

    asp.net Cookie操作类

    Cookie操作类,本人得还很不错哦。
    2009-12-12
  • System.Web.Routing入门及进阶

    System.Web.Routing入门及进阶

    System.Web.Routing已经作为一个程序集包含在.net3.5sp1中发布了。虽然我们并没有在3.5sp1中发现Asp.net Mvc的踪迹,但是亦以感觉到它离我们不远了
    2011-12-12
  • asp.net实现在非MVC中使用Razor模板引擎的方法

    asp.net实现在非MVC中使用Razor模板引擎的方法

    这篇文章主要介绍了asp.net实现在非MVC中使用Razor模板引擎的方法,较为详细的分析了Razor模板引擎的使用技巧,需要的朋友可以参考下
    2015-06-06
  • Asp.net_Table控件の单元格纵向合并示例

    Asp.net_Table控件の单元格纵向合并示例

    本文为大家介绍下如何实现动态生成表,同一列中数据相同的单元格需要合并,具体实现如下,由此需求的朋友可以参考下,希望对大家有所帮助
    2013-07-07
  • c# 可变数目参数params实例

    c# 可变数目参数params实例

    一般来说,参数个数都是固定的,定义为集群类型的参数可以实现可变数目参数的目的,但是.NET提供了更灵活的机制来实现可变数目参数,这就是使用params修饰符
    2012-11-11
  • .Net Core中使用EFCore生成反向工程

    .Net Core中使用EFCore生成反向工程

    这篇文章介绍了.Net Core中使用EFCore生成反向工程的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • asp.net(C#)中给控件添加客户端js事件的方法

    asp.net(C#)中给控件添加客户端js事件的方法

    今天做一个输入界面,有一需求根据一个DropDownList选择不同,后面部分出现不同的输入界面,若把响应事件放在服务端去做,得频繁刷页面。就想放在客户来处理显示和隐藏相应的输入界面。
    2010-03-03
  • .Net中的序列化和反序列化详解

    .Net中的序列化和反序列化详解

    这篇文章主要介绍了.Net中的序列化和反序列化详解的相关资料,需要的朋友可以参考下
    2016-04-04
  • .net framework中引进的var对象类型声明

    .net framework中引进的var对象类型声明

    安装了vs 2008之后,在后台代码中,resharper插件对后台所有局部变量进行提示建议,显示需要采用use implicitly typed local variable declaration,通过代码修改建议
    2010-12-12

最新评论