1、效果图

2、数据库中表数据结构

3、前台页面

<select id="pid" runat="server" style="width:160px;" >
<option value="0" data="|0|">不选父级类</option>
</select>

4、后台代码

using System;
using System.Data;
using System.Web.UI.WebControls;
 //带层次的绑定下拉框(select控件)
BindDropDownList(, "┗━");
    /// <summary>
/// 带层次的绑定下拉框
/// </summary>
/// <param name="pItemId">父类编号</param>
/// <param name="levelStr">层次样式</param>
protected void BindDropDownList(int pItemId, string levelStr)
{
//获取新闻类别列表
DataTable dt = Express.BLL.NewsCategory.GetDataSet().Tables[];
//判断是否是父类,更改其层级值
if (pItemId != )
{
levelStr += string.IsNullOrEmpty(levelStr) ? "┗━" : "┻━";
}
//遍历控件的列表控件中的数据项
foreach (DataRow dr in dt.Select("ParentId=" + pItemId))
{
//初始化列表控件中的数据项
ListItem li = new ListItem();
//设置数据项显示的文本
li.Text = levelStr + dr["ItemName"].ToString();
//设置数据项关联的值
li.Value = dr["Id"].ToString();
//将数据项追加到控件中
this.pid.Items.Add(li);
//遍历列表控件中的子类数据项
BindDropDownList(Convert.ToInt32(li.Value), levelStr);
}
}

5、数据库部分

        /// <summary>
/// 获取所有名称不为空的类别
/// </summary>
/// <returns></returns>
public DataSet GetDataSet()
{
string sql = "select * from NewsCategory where ItemName<>'' order by sortvalue ";
return SqlHelper.ExecuteDataSet(ConnString.connReadonly, CommandType.Text, sql, null);
}

备注:查看网页源代码

 <select name="pid" id="pid">
<option value="0">不选父级类</option>
<option value="31">┗━新闻中心</option>
<option value="51">┗━┻━企业快讯</option>
<option value="52">┗━┻━企业公告</option>
<option value="53">┗━┻━行业动态</option>
<option value="54">┗━关于盟友捌捌</option>
<option value="55">┗━┻━企业概况</option>
<option value="56">┗━┻━企业文化</option>
<option value="57">┗━┻━企业发展</option>
<option value="58">┗━┻━联系我们</option>
</select>

涉及的知识点:

(1)将数据库中的数据绑定到下拉框

 <select id="pid" runat="server">
<option value="0" data="|0|">不选父级类</option>
</select>

方法一:

  DataSet ds = Express.BLL.AdminLeft.GetDataSet();
foreach (DataRow dr in ds.Tables[].Rows)
{
pid.Items.Add(new ListItem(dr["ItemName"].ToString(), dr["Id"].ToString()));
}

备注:

ListItem引用空间:System.Web.UI.WebControls;

ListItem(string text,string value);//text指在 ListItem 中显示的文本;value指ListItem 的值。

方法二:

    pid.DataSource = dt;//设置控件的数据源
pid.DataTextField = "ItemName"; //设置数据项显示的文本
pid.DataValueField = "Id";//设置数据项关联的值
pid.DataBind();//将数据绑定到控件

(2)【DataTable.Select方法】返回值:DataRow对象数组

dt.Select(筛选条件);

dt.Select();

dt.Select(筛选条件,排序);

Asp.net绑定带层次下拉框(select控件)的更多相关文章

  1. Jquery+json绑定带层次下拉框(select控件)

    一.实现的效果图 备注: 1.主要实现添加类别绑定到Ztree树之后,select下拉框在不刷新页面的情况下,通过Jquery重新绑定问题,增加用户体验度: 2.这个只是实现两层的绑定,通过sql语句 ...

  2. GridControl控件绑定RepositoryItemImageComboBox 作为下拉框使用

    如果,时间长时了,已前做过的东西,都记不得了,所以记录一下. 废话不多说. 1.拖出gridview控件,然后将字段绑定上去 2.将要做下拉框的控件加入RepositoryItemImageCombo ...

  3. devpress GridControl控件绑定RepositoryItemImageComboBox 作为下拉框使用 zt

    1.拖出gridview控件,然后将字段绑定上去 2.将要做下拉框的控件加入RepositoryItemImageComboBox控件 3.绑定数据 ; i < ; i++) { //如果取值时 ...

  4. struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input

    原文地址:struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input jsp页面 1     function dosearch() {2         if ($(&q ...

  5. elementUI下拉框select组件change事件用法

    <el-select-custom clearable collapse-tags v-model="searchForm.cardTypeList" @change=&qu ...

  6. jQuery对下拉框Select操作总结

    jQuery对下拉框Select操作总结 转自网络,留做备用 jQuery获取Select元素,并选择的Text和Value: 1. $("#select_id").change( ...

  7. JQuery操作下拉框 select

    要实现这种效果: html代码 1<script src="js/jquery-1.7.2.min.js"></script> 2 <table> ...

  8. 下拉框select中option居中样式

    下拉框select中option居中样式 text-align:center;text-align-last:center;

  9. 【jQuery获取下拉框select、单选框radio、input普通框的值和checkbox选中的个数】

    radio单选框:name属性相同 <input type="radio" id="sp_type" name="p_type" va ...

随机推荐

  1. Java常见排序算法之堆排序

    在学习算法的过程中,我们难免会接触很多和排序相关的算法.总而言之,对于任何编程人员来说,基本的排序算法是必须要掌握的. 从今天开始,我们将要进行基本的排序算法的讲解.Are you ready?Let ...

  2. Codeforces Round #307 (Div. 2) C. GukiZ hates Boxes 贪心/二分

    C. GukiZ hates Boxes Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/551/ ...

  3. Android C2DM学习 - 云端推送

    一.基础知识 当我们开发需要和服务器交互的应用程序时,基本上都需要获取服务器端的数据,比如<地震及时通>就需要及时获取服务器上最新的地震信息.要获取服务器上不定时更新的信息一般来说有两种方 ...

  4. 分享8款绚丽的HTML5/jQuery特效插件

    有几天没有分享前端资源了,今天要向大家分享15款非常给力的HTML5/jQuery特效插件,废话少说,一起来看看. 1.CSS3图片重力感应特效 很酷的一款CSS3模拟重力感应特效,你可以拖动图片来甩 ...

  5. MYSQL 5.7 主从复制 -----GTID说明与限制 原创

    http://www.cnblogs.com/cenalulu/p/4309009.html http://txcdb.org/2016/03/%E7%B3%BB%E7%BB%9F%E8%A1%A8- ...

  6. IDEA加密(转)

    1. 简介 IDEA是International Data Encryption Algorithm 的缩写,是1990年由瑞士联邦技术学院来学嘉X.J.Lai 和Massey提出的建议标准算法称作P ...

  7. QT程序在windows下部署发布

    转载:http://www.cnblogs.com/Fan_Fan/archive/2010/05/29/1746860.html QT程序在windows下部署发布 以下包括了部分网上收集的,以及q ...

  8. 关于BP算法在DNN中本质问题的几点随笔 [原创 by 白明] 微信号matthew-bai

       随着deep learning的火爆,神经网络(NN)被大家广泛研究使用.但是大部分RD对BP在NN中本质不甚清楚,对于为什这么使用以及国外大牛们是什么原因会想到用dropout/sigmoid ...

  9. git 修改commit信息

    可以使用 git commit --amend 修改上一次的提交信息. 操作示例 如下: git commit --amend 后会出现编辑界面,如下 可以在最上面红框的地方,修改要提交的信息,然后按 ...

  10. iOS 抓取 UIwebview 上 所有 图片 并进行滚动播放

    关于在UIwebview上添加滚动图片 两种滚动手势会混淆,应为webview有webview.scrollview的属性 故参照昨天的随笔 scrollview嵌套解决方案. 本篇随笔主要讲循环使用 ...