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 } 

 

你可能感兴趣的:(update)