WebForm 三级联动

Love The Way You Lie 2022-01-07 00:15 516阅读 0赞

三级联动

数据库根据父级代号条件写查询 返回list<>集合

方法一:

创建三个下拉列表:

※AutoPostBack:否发生自动回传到服务器的操作。如果把该属性设置为 TRUE,则启用自动回传,否则为 FALSE。默认是 FALSE。

  1. 1 省:<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"></asp:DropDownList>
  2. 2 市:<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True"></asp:DropDownList>
  3. 3 区:<asp:DropDownList ID="DropDownList3" runat="server" AutoPostBack="True"></asp:DropDownList>

CS:

※SelectedIndexChanged事件:当列表控件的选定项在信息发往服务器之间变化时发生

  1. 1 protected void Page_Load(object sender, EventArgs e)
  2. 2 {
  3. 3 if (!IsPostBack)
  4. 4 {
  5. 5 Bind(new ChinaStatesDA().Select("0001"), DropDownList1);
  6. 6 Bind(new ChinaStatesDA().Select(DropDownList1.SelectedValue), DropDownList2);
  7. 7 Bind(new ChinaStatesDA().Select(DropDownList2.SelectedValue), DropDownList3);
  8. 8 }
  9. 9 DropDownList1.SelectedIndexChanged += DropDownList1_SelectedIndexChanged;
  10. 10 DropDownList2.SelectedIndexChanged += DropDownList2_SelectedIndexChanged;
  11. 11 }
  12. 12
  13. 13 void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
  14. 14 {
  15. 15 Bind(new ChinaStatesDA().Select(DropDownList2.SelectedValue), DropDownList3);
  16. 16 }
  17. 17
  18. 18 void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
  19. 19 {
  20. 20 Bind(new ChinaStatesDA().Select(DropDownList1.SelectedValue), DropDownList2);
  21. 21 Bind(new ChinaStatesDA().Select(DropDownList2.SelectedValue), DropDownList3);
  22. 22 }
  23. 23 //绑定方法
  24. 24 public void Bind(List<ChinaStates> list, DropDownList dw)
  25. 25 {
  26. 26 dw.DataSource = list;
  27. 27 dw.DataTextField = "AreaName";
  28. 28 dw.DataValueField = "AreaCode";
  29. 29 dw.DataBind();
  30. 30 }

方法二:

创建三个下拉列表框:

  1. 省:<asp:DropDownList ID="DropDownListsheng" runat="server" OnSelectedIndexChanged="DropDownListsheng_SelectedIndexChanged" AutoPostBack="True"></asp:DropDownList>
  2. 市:<asp:DropDownList ID="DropDownListshi" runat="server" OnSelectedIndexChanged="DropDownListshi_SelectedIndexChanged" AutoPostBack="True"></asp:DropDownList>
  3. 区:<asp:DropDownList ID="DropDownListqu" runat="server" AutoPostBack="True"></asp:DropDownList>

CS:

※DropDownList.Items.Clear(); 每调用一次填充方法就需要请空一下,否则数据会追加

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. if (!IsPostBack)
  4. {
  5. sheng();
  6. shi();
  7. qu();
  8. }
  9. }
  10. public void sheng()//填充省
  11. {
  12. List<ChinaStates> listsheng = new ChinaStatesDA().Select("0001");
  13. foreach (ChinaStates cssheng in listsheng)
  14. {
  15. ListItem lisheng = new ListItem(cssheng.AreaName, cssheng.AreaCode);
  16. DropDownListsheng.Items.Add(lisheng);
  17. }
  18. }
  19. public void shi()//填充市
  20. {
  21. List<ChinaStates> listshi = new ChinaStatesDA().Select(DropDownListsheng.SelectedValue);
  22. foreach (ChinaStates csshi in listshi)
  23. {
  24. ListItem lishi = new ListItem(csshi.AreaName, csshi.AreaCode);
  25. DropDownListshi.Items.Add(lishi);
  26. }
  27. }
  28. public void qu()//填充区
  29. {
  30. List<ChinaStates> listqu = new ChinaStatesDA().Select(DropDownListshi.SelectedValue);
  31. foreach (ChinaStates csqu in listqu)
  32. {
  33. ListItem liqu = new ListItem(csqu.AreaName, csqu.AreaCode);
  34. DropDownListqu.Items.Add(liqu);
  35. }
  36. }
  37. protected void DropDownListsheng_SelectedIndexChanged(object sender, EventArgs e)
  38. {
  39. DropDownListshi.Items.Clear();
  40. DropDownListqu.Items.Clear();
  41. shi();
  42. qu();
  43. }
  44. protected void DropDownListshi_SelectedIndexChanged(object sender, EventArgs e)
  45. {
  46. DropDownListqu.Items.Clear();
  47. qu();
  48. }

转载于:https://www.cnblogs.com/ShenG1/p/5895605.html

发表评论

表情:
评论列表 (有 0 条评论,516人围观)

还没有评论,来说两句吧...

相关阅读

    相关 三级联动

    .set设置:ctrl+alt+s; 2.文本框在设置border-box之前边框向内设置 3.行内标签不能设置上下的margin(span) 4.json为...

    相关 Javascript实现三级联动

    三级联动:就是平时网页上需要选择的省市县对应位置的下拉栏模块,当选择好省位置后市的下拉栏更新为已选省的,县类似。 ![这里写图片描述][SouthEast] <!

    相关 WebForm 三级联动

    三级联动 数据库根据父级代号条件写查询 返回list<>集合 方法一: 创建三个下拉列表: ※AutoPostBack:否发生自动回传到服务器的操作。如果把该属性设置为