先创建三个类: 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