[csharp]
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="PCAControl.ascx.cs" Inherits="PCAControl" %>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="ddlProvice" runat="server" AppendDataBoundItems="true" AutoPostBack="true"
OnSelectedIndexChanged="ddlProvice_SelectedIndexChanged">
<asp:ListItem Text="-請選擇省份-" Value=""></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddlCity" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlCity_SelectedIndexChanged">
<asp:ListItem Text="-請選擇城市-" Value=""></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddlArea" runat="server">
<asp:ListItem Text="-請選擇縣區-" Value=""></asp:ListItem>
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
[csharp]
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class PCAControl : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindProvince();
}
}
//加載省份
protected void BindProvince()
{
DataTable dt = Maticsoft.DBUtility.DbHelperOra.Query("SELECT DISTINCT PROVINCE FROM SY_CITYCODE GROUP BY PROVINCE").Tables[0];
ddlProvice.DataTextField = "PROVINCE";
ddlProvice.DataValueField = "PROVINCE";
ddlProvice.DataSource = dt;
ddlProvice.DataBind();
}
//加載城市
protected void ddlProvice_SelectedIndexChanged(object sender, EventArgs e)
{
string SelectPro = ddlProvice.SelectedValue;
if (!string.IsNullOrEmpty(SelectPro))
{
ddlCity.Items.Clear();
ddlCity.AppendDataBoundItems = true;
ddlCity.Items.Insert(0, new ListItem("-請選擇城市-", ""));
DataTable dt1 = Maticsoft.DBUtility.DbHelperOra.Query("SELECT CITY FROM SY_CITYCODE Where PROVINCE='" + SelectPro + "' Group By City").Tables[0];
ddlCity.DataTextField = "CITY";
ddlCity.DataValueField = "CITY";
ddlCity.DataSource = dt1;
ddlCity.DataBind();
}
}
//加載縣區
protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e)
{
string SelectCity = ddlCity.SelectedValue;
if (!string.IsNullOrEmpty(SelectCity))
{
ddlArea.Items.Clear();
ddlArea.AppendDataBoundItems = true;
ddlArea.Items.Insert(0, new ListItem("-請選擇縣區-", ""));
DataTable dt2 = Maticsoft.DBUtility.DbHelperOra.Query("SELECT AREA FROM SY_CITYCODE Where CITY='" + SelectCity + "'").Tables[0];
ddlArea.DataTextField = "AREA";
ddlArea.DataValueField = "AREA";
ddlArea.DataSource = dt2;
ddlArea.DataBind();
}
}
}
調用頁面
protected void Button1_Click(object sender, EventArgs e)
{
string SelectedProv = ((DropDownList)PCAControl1.FindControl("ddlProvice")).SelectedValue;
string SelectedCity = ((DropDownList)PCAControl1.FindControl("ddlCity")).SelectedValue;
string SelectedArea = ((DropDownList)PCAControl1.FindControl("ddlArea")).SelectedValue;
MSCL.JsHelper.Alert(SelectedProv + "-" + SelectedCity + "-" + SelectedArea, Page);
}