下拉框

128 阅读1分钟

先创建三个类: District 省份列表 /// 区划类 /// public class District { ///

/// 省份列表 /// public List Provinces { get; set; } }

Province 省类 /// 省份类 /// public class Province { ///

/// 省份名 /// public string ProvinceName { get; set; }

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

City 城市类 /// 城市类 /// public class City { ///

/// 城市名 /// 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(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城市的信息