<%@ 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>
using System; 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); }