註明:此文章是轉載而來,只是稍稍改了一點。。。
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>