注明:此文章是转载而来,只是稍稍改了一点。。。
1、实现语言,c#,mysql,其中要引入mysq.dll
需要建立三个表----对应关系
2、Web.cofig
<connectionStrings>
<add name="Conn" connectionString="Server=localhost;Database=test;User=root;Password=xqq;Port=3306;Charset=utf8" />
</connectionStrings>
3、demo.cx文件:
private string conn = WebConfigurationManager.ConnectionStrings["Conn"].ConnectionString.ToString();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//绑定第一个下拉框
Dd1DataBind();
//显示第一个下拉框对应的第二个下拉框的内容
Dd2DataBind();
//显示第二个下拉框对应的第三个下拉框的内容
Dd3DataBind();
}
}
//当下拉框改变时,显示相应的内容
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
Dd2DataBind();
Dd3DataBind();
}
//当下拉框改变时,显示相应的内容
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
Dd3DataBind();
}
//DropDownList1
public void Dd1DataBind()
{
string sqlStr = "Select TypeID,TypeName From a ";
FillDropList(sqlStr, DropDownList1);
}
//DropDownList2
public void Dd2DataBind()
{
int PreID = Convert.ToInt32(DropDownList1.SelectedValue);
string sqlStr1 = "Select ID,name From b Where TypeID=' " + PreID.ToString() + "'";
FillDropList(sqlStr1, DropDownList2);
}
//DropDownList3
public void Dd3DataBind()
{
int PreID = Convert.ToInt32(DropDownList2.SelectedValue);
string sqlStr2 = "Select IDcun,name From c Where ID=' " + PreID.ToString() + "'";
FillDropList(sqlStr2, DropDownList3);
}
//绑定方法
public void FillDropList(string SQLString, DropDownList drp)
{
MySqlConnection m_oMysqlConnection = new MySqlConnection(conn);
MySqlCommand cmd = new MySqlCommand(SQLString, m_oMysqlConnection);
MySqlDataAdapter sda = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds, "DropList");
drp.DataSource = ds.Tables["DropList"].DefaultView;
drp.DataTextField = ds.Tables["DropList"].Columns[1].ColumnName;
drp.DataValueField = ds.Tables["DropList"].Columns[0].ColumnName;
drp.DataBind();
}
4.demo.aspx
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div style="float: left" mce_style="float: left">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" Width="98px" AutoPostBack="true"
OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" OnTextChanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="true" Width="168px"
OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList3" runat="server" AutoPostBack="true" Width="168px">
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div style="float: left" mce_style="float: left">
</div>