如何制作动态三级下拉菜单 请教各位 asp.net 如何制作动态三级下拉菜单 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 protected void ddlProfession1_SelectedIndexChanged(object sender, EventArgs e) { switch (ddlProfession1.SelectedValue) { case "IT": { ddlProfession2.Items.Clear(); ddlProfession2.Items.Insert(0,"网络安全"); ddlProfession2.Items.Insert(1, "入侵检测"); } break; case "医疗": { ddlProfession2.Items.Clear(); ddlProfession2.Items.Insert(0,"中医针灸"); ddlProfession2.Items.Insert(1, "中医理疗"); } break; } }//这种做法行不 CSS二级横向菜单,三级下拉菜单五款(纯CSS)自己去选!!! http://www.open-open.com/ajax/ajax20080824230840.htm Ajax 三级联动 实现分类 .NET/C# 2010-08-13 11:35:12| 分类: .NET/C# |字号 订阅通过控件拖动实现: <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <br /> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <table style="width:100%;"> <tr> <td class="style1"> 一级:<asp:DropDownList ID="ddl" runat="server" AppendDataBoundItems="True" DataTextField="name" DataValueField="id" OnSelectedIndexChanged="changeFirst" AutoPostBack="true"> <asp:ListItem>--请选择--</asp:ListItem> </asp:DropDownList> </td> <td class="style2"> 二级:<asp:DropDownList ID="ddl2" runat="server" AppendDataBoundItems="True" DataTextField="name" DataValueField="id" OnSelectedIndexChanged="changeSecond" AutoPostBack="true"> <asp:ListItem>--请选择--</asp:ListItem> </asp:DropDownList> </td> <td> 三级:<asp:DropDownList ID="ddl3" runat="server" DataTextField="name" DataValueField="id" > </asp:DropDownList> </td> </tr> </table> </ContentTemplate>后台CS代码public partial class Publish_Default2 : System.Web.UI.Page{ // int pageNo = 1; // int pageSize = 999; //PageModel pageModel = new PageModel(); private string ConnectionString = ConfigurationManager.ConnectionStrings["ConString"].ToString(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.bindDDL(); } } private void bindDDL() { SqlConnection conn = new SqlConnection(ConnectionString); string sql = "select id,name,parentid from category where parentid="+0;//0代表一级分类 SqlDataAdapter adapter = new SqlDataAdapter(sql,conn); DataTable dt = new DataTable(); adapter.Fill(dt); this.ddl.DataSource = dt.DefalultView; this.ddl.DataBind(); } protected void changeFirst(object sender, EventArgs e) { int id = Convert.ToInt32(ddl.SelectedValue); SqlConnection conn = new SqlConnection(ConnectionString); string sql = "select id,name,parentid from category where parentid="+id; SqlDataAdapter adapter = new SqlDataAdapter(sql,conn); DataTable dt = new DataTable(); adapter.Fill(dt); this.ddl2.DataSource = dt.DefalultView;//这个语句是追加语句,不是将ddl2中以前的数据删除,而是追加。 ddl2.Items.Clear();//此项很重要,主要是删除ddl2中已经存在的数据, this.ddl2.Items.Add("---请选择---"); ddl2.DataBind(); } protected void changeSecond(object sender, EventArgs e) { int id = Convert.ToInt32(ddl2.SelectedValue); SqlConnection conn = new SqlConnection(ConnectionString); string sql = "select id,name,parentid from category where parentid="+id; SqlDataAdapter adapter = new SqlDataAdapter(sql,conn); DataTable dt = new DataTable(); adapter.Fill(dt); this.ddl2.DataSource = dt.DefalultView;/ ddl3.Items.Clear(); ddl3.DataBind(); }}Category表结构 id int name varcharparentid int Ajax 三级联动 实现分类 .NET/C# 2010-08-13 11:35:12| 分类: .NET/C# |字号 订阅通过控件拖动实现: <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <br /> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <table style="width:100%;"> <tr> <td class="style1"> 一级:<asp:DropDownList ID="ddl" runat="server" AppendDataBoundItems="True" DataTextField="name" DataValueField="id" OnSelectedIndexChanged="changeFirst" AutoPostBack="true"> <asp:ListItem>--请选择--</asp:ListItem> </asp:DropDownList> </td> <td class="style2"> 二级:<asp:DropDownList ID="ddl2" runat="server" AppendDataBoundItems="True" DataTextField="name" DataValueField="id" OnSelectedIndexChanged="changeSecond" AutoPostBack="true"> <asp:ListItem>--请选择--</asp:ListItem> </asp:DropDownList> </td> <td> 三级:<asp:DropDownList ID="ddl3" runat="server" DataTextField="name" DataValueField="id" > </asp:DropDownList> </td> </tr> </table> </ContentTemplate>后台CS代码public partial class Publish_Default2 : System.Web.UI.Page{ // int pageNo = 1; // int pageSize = 999; //PageModel pageModel = new PageModel(); private string ConnectionString = ConfigurationManager.ConnectionStrings["ConString"].ToString(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.bindDDL(); } } private void bindDDL() { SqlConnection conn = new SqlConnection(ConnectionString); string sql = "select id,name,parentid from category where parentid="+0;//0代表一级分类 SqlDataAdapter adapter = new SqlDataAdapter(sql,conn); DataTable dt = new DataTable(); adapter.Fill(dt); this.ddl.DataSource = dt.DefalultView; this.ddl.DataBind(); } protected void changeFirst(object sender, EventArgs e) { int id = Convert.ToInt32(ddl.SelectedValue); SqlConnection conn = new SqlConnection(ConnectionString); string sql = "select id,name,parentid from category where parentid="+id; SqlDataAdapter adapter = new SqlDataAdapter(sql,conn); DataTable dt = new DataTable(); adapter.Fill(dt); this.ddl2.DataSource = dt.DefalultView;//这个语句是追加语句,不是将ddl2中以前的数据删除,而是追加。 ddl2.Items.Clear();//此项很重要,主要是删除ddl2中已经存在的数据, this.ddl2.Items.Add("---请选择---"); ddl2.DataBind(); } protected void changeSecond(object sender, EventArgs e) { int id = Convert.ToInt32(ddl2.SelectedValue); SqlConnection conn = new SqlConnection(ConnectionString); string sql = "select id,name,parentid from category where parentid="+id; SqlDataAdapter adapter = new SqlDataAdapter(sql,conn); DataTable dt = new DataTable(); adapter.Fill(dt); this.ddl2.DataSource = dt.DefalultView;/ ddl3.Items.Clear(); ddl3.DataBind(); }}Category表结构 id int name varcharparentid int http://mesky.net/downz/tkiekhe给你一个demo 求救 请问一个弹出提示框的问题 对Infragistics.NetAdvantage.2004.Vol.2控件源代码有兴趣的,一起进来研究研究! 能不能帮我看一下我的数据库连接 如何按回车,触发的是很两个按钮. 高手请进 asp.net书急需!!! 连接oracle数据库出错 一个头痛的问题! 大家给看看,我这个为什么报错呀!!OLedbParameter的问题!! 关于在.net 调用 java 写的webservice 问题!!!!急啊 WebService
{
switch (ddlProfession1.SelectedValue)
{
case "IT":
{
ddlProfession2.Items.Clear();
ddlProfession2.Items.Insert(0,"网络安全");
ddlProfession2.Items.Insert(1, "入侵检测");
}
break;
case "医疗":
{
ddlProfession2.Items.Clear();
ddlProfession2.Items.Insert(0,"中医针灸");
ddlProfession2.Items.Insert(1, "中医理疗");
}
break;
}
}
//这种做法行不
自己去选!!!
Ajax 三级联动 实现分类 .NET/C# 2010-08-13 11:35:12| 分类: .NET/C#
|字号
订阅
通过控件拖动实现:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<br />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table style="width:100%;">
<tr>
<td class="style1">
一级:<asp:DropDownList ID="ddl" runat="server" AppendDataBoundItems="True" DataTextField="name" DataValueField="id"
OnSelectedIndexChanged="changeFirst" AutoPostBack="true">
<asp:ListItem>--请选择--</asp:ListItem>
</asp:DropDownList>
</td>
<td class="style2">
二级:<asp:DropDownList ID="ddl2" runat="server" AppendDataBoundItems="True" DataTextField="name" DataValueField="id"
OnSelectedIndexChanged="changeSecond" AutoPostBack="true">
<asp:ListItem>--请选择--</asp:ListItem>
</asp:DropDownList>
</td>
<td>
三级:<asp:DropDownList ID="ddl3" runat="server" DataTextField="name" DataValueField="id" >
</asp:DropDownList>
</td>
</tr>
</table>
</ContentTemplate>
后台CS代码
public partial class Publish_Default2 : System.Web.UI.Page
{
// int pageNo = 1;
// int pageSize = 999;
//PageModel pageModel = new PageModel();
private string ConnectionString = ConfigurationManager.ConnectionStrings["ConString"].ToString();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.bindDDL();
}
} private void bindDDL()
{
SqlConnection conn = new SqlConnection(ConnectionString);
string sql = "select id,name,parentid from category where parentid="+0;//0代表一级分类
SqlDataAdapter adapter = new SqlDataAdapter(sql,conn);
DataTable dt = new DataTable();
adapter.Fill(dt);
this.ddl.DataSource = dt.DefalultView;
this.ddl.DataBind();
}
protected void changeFirst(object sender, EventArgs e)
{
int id = Convert.ToInt32(ddl.SelectedValue);
SqlConnection conn = new SqlConnection(ConnectionString);
string sql = "select id,name,parentid from category where parentid="+id;
SqlDataAdapter adapter = new SqlDataAdapter(sql,conn);
DataTable dt = new DataTable();
adapter.Fill(dt);
this.ddl2.DataSource = dt.DefalultView;//这个语句是追加语句,不是将ddl2中以前的数据删除,而是追加。
ddl2.Items.Clear();//此项很重要,主要是删除ddl2中已经存在的数据,
this.ddl2.Items.Add("---请选择---");
ddl2.DataBind(); }
protected void changeSecond(object sender, EventArgs e)
{
int id = Convert.ToInt32(ddl2.SelectedValue);
SqlConnection conn = new SqlConnection(ConnectionString);
string sql = "select id,name,parentid from category where parentid="+id;
SqlDataAdapter adapter = new SqlDataAdapter(sql,conn);
DataTable dt = new DataTable();
adapter.Fill(dt);
this.ddl2.DataSource = dt.DefalultView;/
ddl3.Items.Clear();
ddl3.DataBind();
}}Category表结构
id int
name varchar
parentid int
|字号
订阅
通过控件拖动实现:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<br />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table style="width:100%;">
<tr>
<td class="style1">
一级:<asp:DropDownList ID="ddl" runat="server" AppendDataBoundItems="True" DataTextField="name" DataValueField="id"
OnSelectedIndexChanged="changeFirst" AutoPostBack="true">
<asp:ListItem>--请选择--</asp:ListItem>
</asp:DropDownList>
</td>
<td class="style2">
二级:<asp:DropDownList ID="ddl2" runat="server" AppendDataBoundItems="True" DataTextField="name" DataValueField="id"
OnSelectedIndexChanged="changeSecond" AutoPostBack="true">
<asp:ListItem>--请选择--</asp:ListItem>
</asp:DropDownList>
</td>
<td>
三级:<asp:DropDownList ID="ddl3" runat="server" DataTextField="name" DataValueField="id" >
</asp:DropDownList>
</td>
</tr>
</table>
</ContentTemplate>
后台CS代码
public partial class Publish_Default2 : System.Web.UI.Page
{
// int pageNo = 1;
// int pageSize = 999;
//PageModel pageModel = new PageModel();
private string ConnectionString = ConfigurationManager.ConnectionStrings["ConString"].ToString();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.bindDDL();
}
} private void bindDDL()
{
SqlConnection conn = new SqlConnection(ConnectionString);
string sql = "select id,name,parentid from category where parentid="+0;//0代表一级分类
SqlDataAdapter adapter = new SqlDataAdapter(sql,conn);
DataTable dt = new DataTable();
adapter.Fill(dt);
this.ddl.DataSource = dt.DefalultView;
this.ddl.DataBind();
}
protected void changeFirst(object sender, EventArgs e)
{
int id = Convert.ToInt32(ddl.SelectedValue);
SqlConnection conn = new SqlConnection(ConnectionString);
string sql = "select id,name,parentid from category where parentid="+id;
SqlDataAdapter adapter = new SqlDataAdapter(sql,conn);
DataTable dt = new DataTable();
adapter.Fill(dt);
this.ddl2.DataSource = dt.DefalultView;//这个语句是追加语句,不是将ddl2中以前的数据删除,而是追加。
ddl2.Items.Clear();//此项很重要,主要是删除ddl2中已经存在的数据,
this.ddl2.Items.Add("---请选择---");
ddl2.DataBind(); }
protected void changeSecond(object sender, EventArgs e)
{
int id = Convert.ToInt32(ddl2.SelectedValue);
SqlConnection conn = new SqlConnection(ConnectionString);
string sql = "select id,name,parentid from category where parentid="+id;
SqlDataAdapter adapter = new SqlDataAdapter(sql,conn);
DataTable dt = new DataTable();
adapter.Fill(dt);
this.ddl2.DataSource = dt.DefalultView;/
ddl3.Items.Clear();
ddl3.DataBind();
}}Category表结构
id int
name varchar
parentid int