02-26C#三级省市区ajax联动控件,利用UpdatePanel,以及页面取值

第一步:设置界面

 1 <%@ Control Language="C#" AutoEventWireup="true" CodeFile="PCAControl.ascx.cs" Inherits="PCAControl" %> 
 2 <asp:ScriptManager ID="ScriptManager1" runat="server"> 
 3 </asp:ScriptManager> 
 4 <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
 5     <ContentTemplate> 
 6         <asp:DropDownList ID="ddlProvice" runat="server" AppendDataBoundItems="true" AutoPostBack="true" 
 7             OnSelectedIndexChanged="ddlProvice_SelectedIndexChanged"> 
 8             <asp:ListItem Text="-请选择省份-" Value=""></asp:ListItem> 
 9         </asp:DropDownList> 
10         <asp:DropDownList ID="ddlCity" runat="server" AutoPostBack="true" 
11             onselectedindexchanged="ddlCity_SelectedIndexChanged"> 
12             <asp:ListItem Text="-请选择城市-" Value=""></asp:ListItem> 
13         </asp:DropDownList> 
14         <asp:DropDownList ID="ddlArea" runat="server"> 
15             <asp:ListItem Text="-请选择县区-" Value=""></asp:ListItem> 
16         </asp:DropDownList> 
17     </ContentTemplate> 
18 </asp:UpdatePanel> 

第二步:C#写方法函数

 1 using System.Collections.Generic; 
 2 using System.Linq; 
 3 using System.Web; 
 4 using System.Data; 
 5 using System.Web.UI; 
 6 using System.Web.UI.WebControls; 
 7  
 8 public partial class PCAControl : System.Web.UI.UserControl 
 9 { 
10  
11     protected void Page_Load(object sender, EventArgs e) 
12     { 
13         if (!IsPostBack) 
14         { 
15             BindProvince(); 
16         } 
17     } 
18  
19     //加载省份 
20     protected void BindProvince() 
21     { 
22         DataTable dt = Maticsoft.DBUtility.DbHelperOra.Query("SELECT DISTINCT PROVINCE FROM SY_CITYCODE  GROUP   BY PROVINCE").Tables[0]; 
23         ddlProvice.DataTextField = "PROVINCE"; 
24         ddlProvice.DataValueField = "PROVINCE"; 
25         ddlProvice.DataSource = dt; 
26         ddlProvice.DataBind(); 
27     } 
28  
29     //加载城市 
30     protected void ddlProvice_SelectedIndexChanged(object sender, EventArgs e) 
31     { 
32         string SelectPro = ddlProvice.SelectedValue; 
33         if (!string.IsNullOrEmpty(SelectPro)) 
34         { 
35             ddlCity.Items.Clear(); 
36             ddlCity.AppendDataBoundItems = true; 
37             ddlCity.Items.Insert(0, new ListItem("-请选择城市-", "")); 
38             DataTable dt1 = Maticsoft.DBUtility.DbHelperOra.Query("SELECT CITY FROM SY_CITYCODE Where PROVINCE='" + SelectPro + "'  Group By City").Tables[0]; 
39             ddlCity.DataTextField = "CITY"; 
40             ddlCity.DataValueField = "CITY"; 
41             ddlCity.DataSource = dt1; 
42             ddlCity.DataBind(); 
43         } 
44     } 
45  
46     //加载县区 
47     protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e) 
48     { 
49         string SelectCity = ddlCity.SelectedValue; 
50         if (!string.IsNullOrEmpty(SelectCity)) 
51         { 
52             ddlArea.Items.Clear(); 
53             ddlArea.AppendDataBoundItems = true; 
54             ddlArea.Items.Insert(0, new ListItem("-请选择县区-", "")); 
55             DataTable dt2 = Maticsoft.DBUtility.DbHelperOra.Query("SELECT AREA FROM SY_CITYCODE Where CITY='" + SelectCity + "'").Tables[0]; 
56             ddlArea.DataTextField = "AREA"; 
57             ddlArea.DataValueField = "AREA"; 
58             ddlArea.DataSource = dt2; 
59             ddlArea.DataBind(); 
60         } 
61     } 
62 } 

第三步:在页面中调用函数

1 protected void Button1_Click(object sender, EventArgs e) 
2 { 
3     string SelectedProv = ((DropDownList)PCAControl1.FindControl("ddlProvice")).SelectedValue; 
4     string SelectedCity = ((DropDownList)PCAControl1.FindControl("ddlCity")).SelectedValue; 
5     string SelectedArea = ((DropDownList)PCAControl1.FindControl("ddlArea")).SelectedValue; 
6     MSCL.JsHelper.Alert(SelectedProv + "-" + SelectedCity + "-" + SelectedArea, Page); 
7 } 
原文地址:https://www.cnblogs.com/xiaoqingshe/p/4300980.html