list写三级联动

前台:

<div>        <table>                 <tr>                      <td>地址:</td>                     <td>                         <asp:DropDownList ID="dropProvince" runat="server" AutoPostBack="True"                              onselectedindexchanged="dropProvince_SelectedIndexChanged">                         </asp:DropDownList>省                     </td>                                           <td>                         <asp:DropDownList ID="dropCity" runat="server" AutoPostBack="True"                              onselectedindexchanged="dropCity_SelectedIndexChanged">                         </asp:DropDownList>市                     </td>                     <td>                         <asp:DropDownList ID="dropArea" runat="server">                         </asp:DropDownList>县                     </td>                                     </tr>        </table>

后台:

        protected void Page_Load(object sender, EventArgs e)         {             if (!IsPostBack)             {                 BLL.province bll_Province = new BLL.province();                 List<Model.province> list = bll_Province.GetListModel();                 dropProvince.DataSource = list;                 dropProvince.DataTextField = "provinceName";                 dropProvince.DataValueField = "provinceID";                 dropProvince.DataBind();
                BLL.city bll_City = new BLL.city();                 List<Model.city> listCity = bll_City.GetListCity("father='" + list[0].provinceID+ "'");                 dropCity.DataSource = listCity;                 dropCity.DataTextField = "cityName";                 dropCity.DataValueField = "cityID";                 dropCity.DataBind();


                BLL.area bll_Area = new BLL.area();                 List<Model.area> listArea = bll_Area.GetlistArea("father='" + listCity[0].cityID + "'");                 dropArea.DataSource = listArea;                 dropArea.DataTextField = "areaName";                 dropArea.DataValueField = "areaID";                 dropArea.DataBind();
            }         }
        protected void dropProvince_SelectedIndexChanged(object sender, EventArgs e)         {             dropCity.Items.Clear();             dropArea.Items.Clear();             BLL.city bll_City = new BLL.city();             List<Model.city> list = bll_City.GetListCity("father='" +dropProvince.SelectedValue+ "'");             dropCity.DataSource = list;             dropCity.DataTextField = "cityName";             dropCity.DataValueField = "cityID";             dropCity.DataBind();         }
        protected void dropCity_SelectedIndexChanged(object sender, EventArgs e)         {             dropArea.Items.Clear();             BLL.area bll_Area = new BLL.area();             List<Model.area> list = bll_Area.GetlistArea("father='" + dropCity.SelectedValue + "'");             dropArea.DataSource = list;             dropArea.DataTextField = "areaName";             dropArea.DataValueField = "areaID";             dropArea.DataBind();         }

 

三层的方法

BLL

 public List<Model.province> GetListModel()         {             return dal.GetListModel();         }

Dal

  public System.Collections.Generic.List<Model.province> GetListModel()         {             System.Collections.Generic.List<Model.province> list = new System.Collections.Generic.List<Model.province>();             DataTable dt = GetList("").Tables[0];             foreach (DataRow row in dt.Rows)             {                 Model.province mpro = new Model.province();                 mpro.id = Convert.ToInt32(row["Id"]);                 mpro.provinceID = row["provinceID"].ToString();                 mpro.provinceName = row["provinceName"].ToString();                 list.Add(mpro);             }             return list;         }

posted @   奇奇博客  阅读(323)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示