城市下拉框

270 阅读1分钟

先创建三个类: District 省份列表

    /// 区划类
    /// </summary>
    public class District
    {
        /// <summary>
        /// 省份列表
        /// </summary>
        public List<Province> Provinces { get; set; }
    }

Province 省类

    /// 省份类
    /// </summary>
    public class Province
    {
        /// <summary>
        /// 省份名
        /// </summary>
        public string ProvinceName { get; set; }

        /// <summary>
        /// 城市列表
        /// </summary>
        public List<City> Citys { get; set; }
    }

City 城市类

    /// 城市类
    /// </summary>
    public class City
    {
        /// <summary>
        /// 城市名
        /// </summary>
        public string CityName { get; set; }
    }

web前端

               <asp:ListItem Selected="True">- 请选择 -</asp:ListItem>
            </asp:DropDownList>
            <asp:DropDownList ID="ddlCity" runat="server">
                 <asp:ListItem Selected="True">- 请选择 -</asp:ListItem>
            </asp:DropDownList>

web后端

    {
        private District districtList;
        public WebForm11() {
            //将district.json转换为代码
            using (FileStream stream = new FileStream(Server.MapPath("~/App_Data/district.json"),FileMode.Open)) {
                StreamReader streamReader = new StreamReader(stream, Encoding.Default);
                string json = streamReader.ReadToEnd();
                districtList = JsonConvert.DeserializeObject<District>(json);
            }
        }

        public void aa() {
            ddlProvince.DataSource = districtList.Provinces;
            ddlProvince.DataTextField = "ProvinceName";
            ddlProvince.DataValueField = "ProvinceName";
            ddlProvince.DataBind();
        }

        public void bb(string bbb) {
            ddlCity.DataSource = districtList.Provinces.SingleOrDefault(a => a.ProvinceName == bbb).Citys;
            ddlCity.DataTextField = "CityName";
            ddlCity.DataValueField = "CityName";
            ddlCity.DataBind();
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack) {
                aa();
            }
            
        }

        protected void ddlProvince_SelectedIndexChanged(object sender, EventArgs e)
        {
            bb(ddlProvince.SelectedValue);
        }
    }

需要加一个district.json城市的信息 详细:gitee.com/clothes-are… 中Lian