DropDownList绑定DataTable实现联动下拉菜单

非常不想用微软的控件,总感觉生出来那么多没有用的代码,很是不爽,特别是最近用js用魔了,今天特意折腾了一下空间,免得生疏了。

写了个DropDownList绑定DataTable实现联动下拉菜单的效果。

1、把下面的代码放在Page_Load里面

加载第一级下拉菜单

[CODE=csharp]
if (!IsPostBack)
{
addDate.Text = l_addDate.ToString();
BaseClass bc = new BaseClass();
DataTable dt = bc.GList(“select board_Id,board_Name from LinkBoard”);
//GList为BassClass里定义的得到DataTable的函数
boardid.DataSource = dt;
boardid.DataValueField = “board_Id”;
boardid.DataTextField = “board_Name”;
boardid.DataBind();
}
[/CODE]

2、第一个菜单改变触发的函数

[CODE=csharp]
protected void boardid_SelectedIndexChanged(object sender, EventArgs e)
{
Response.Write(boardid.SelectedItem);
BaseClass bc = new BaseClass();
DataTable dt = bc.GList(“select Cls_Id,Cls_Name from LinkCls where Cls_Board=” + boardid.SelectedValue);
clsid.DataSource = dt;
clsid.DataValueField = “Cls_Id”;
clsid.DataTextField = “Cls_Name”;
clsid.DataBind();

}
[/CODE]

下面的是页面的代码:

AutoPostBack="True"属性是设置当菜单一改变时重新加载页面好引起菜单二的改变

[CODE=csharp]
ID=”boardid” runat=”server” Width=”63px” AutoPostBack=”True” OnSelectedIndexChanged=”boardid_SelectedIndexChanged”>
 


[/CODE]

当然也可根据此原理实现多级联动

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据