读取部分xml

自己解决了.不过不知道有没有更好的方法. protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ProvinceFill(); CityFill(); CountyFill(); } } /// /// 用数组存储绑定DataView数据源返回所选字段唯一值 /// /// DataView视图 /// 数组参数 /// 筛选字段 /// 返回column_name唯一值 private ArrayList GetDistinctData(ref DataView dv, ref ArrayList al, string column_name) { bool existed = false; foreach (DataRowView dr in dv) { existed = false; for (int i = 0; i < al.Count; i++) { if (dr[column_name].ToString() == al[i].ToString()) { existed = true; } } if (existed == false) { al.Add(dr[column_name]); } } return al; } /// ///绑定省市数据到控件 /// protected void ProvinceFill() { //清空省市选项 ddlProvince.Items.Clear(); DataSet ds = new DataSet( "Cities "); ds.Clear(); ds.ReadXml(Server.MapPath( "..//App_Data//Citys.xml ")); DataTable dt = ds.Tables[0]; DataView pdv = new DataView(dt); ArrayList pal = new ArrayList(); GetDistinctData(ref pdv, ref pal, "Province "); ddlProvince.DataSource = pal; ddlProvince.DataBind(); } /// /// 绑定所选省市下的城市或地区到控件 /// protected void CityFill() {//清空城市地区选项 ddlCity.Items.Clear(); DataSet ds = new DataSet( "Cities "); ds.Clear(); ds.ReadXml(Server.MapPath( "..//App_Data//Citys.xml ")); DataTable dt = ds.Tables[0]; DataView cdv = new DataView(dt); cdv.RowFilter = "Province= ' " + ddlProvince.SelectedItem.Text + " ' "; ArrayList cal = new ArrayList(); GetDistinctData(ref cdv, ref cal, "City "); ddlCity.DataSource = cal; ddlCity.DataBind(); } /// /// 绑定数据到所选城市或地区管辖下的县市到控件 /// protected void CountyFill() { //清空市县选项 ddlCounty.Items.Clear(); DataSet ds = new DataSet( "Cities "); ds.Clear(); ds.ReadXml(Server.MapPath( "..//App_Data//Citys.xml ")); DataTable dt = ds.Tables[0]; DataView ctdv = new DataView(dt); ctdv.RowFilter = "Province= ' " + ddlProvince.SelectedItem.Text + " ' and City= ' " + ddlCity.SelectedItem.Text + " ' "; ArrayList ctal = new ArrayList(); GetDistinctData(ref ctdv, ref ctal, "County "); ddlCounty.DataSource = ctal; ddlCounty.DataBind(); } protected void ddlProvince_SelectedIndexChanged(object sender, EventArgs e) { CityFill(); CountyFill(); } protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e) { CountyFill(); }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值