当前位置:编程学习 > C#/ASP.NET >>

急!!!求ajax动态绑定下拉列表的两级联动代码

小弟菜鸟,刚遇到一个问题要用到无刷新两级联动,求高手大哥给个示例代码,要是从数据库读取的额。谢谢啦!!!


有符合要求的加分!!! --------------------编程问答-------------------- 给你提供一个例子
或者你直接使用UpdatePanel也可以 --------------------编程问答-------------------- 下拉1的change事件中,查询数据库中的子类,把子类的结果绑定到下拉2中。无刷新有几种方式,第一中你可以用js的ajax,第二中用微软的updatepanel --------------------编程问答-------------------- 我就是需要js的ajax来,因为页面已经做好了, --------------------编程问答-------------------- 说的不太清楚,没听懂 --------------------编程问答-------------------- 可以写一个单独的页面,可以根据第一个参数,获得数据库中该参数下的信息,组合成一个HTML的字符串返回,
在主页面就使用ajax调用这个页面,传一个参数,得到返回值后再绑定到第二个下拉列表上去.
示例还真没木有,大致的思路就这样了 --------------------编程问答-------------------- 如果是用JS的你要有一个数据页  ,通过xmlhttp异步调用,,数据要事先读取,如果多人在线同时操作,你的数据不能及时更新、

用后台读取,+updatepanl+scriptManage 同样能实现无刷新 --------------------编程问答-------------------- 谢谢各位,我考虑用dropdownlist+updatepanl了,select不会写。。 --------------------编程问答-------------------- 用updatepanl这个最方便咯 --------------------编程问答--------------------
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page 
{
  protected void Page_Load(object sender, EventArgs e)
  {
  if (!this.IsPostBack)
  {
  //绑定省
  SqlConnection con = new SqlConnection("server=.;database=dropDownTest;integrated security=true;");
  con.Open();
  SqlCommand cmd = new SqlCommand("select * from provience", con);
  SqlDataReader sdr = cmd.ExecuteReader();
  this.ddlprovince.DataSource = sdr;
  this.ddlprovince.DataTextField = "proName";
  this.ddlprovince.DataValueField = "proID";
  this.ddlprovince.DataBind();
  sdr.Close();
  //绑定市
  SqlCommand cmdcity = new SqlCommand("select * from city where proID=" + this.ddlprovince.SelectedValue, con);
  SqlDataReader sdr1 = cmdcity.ExecuteReader();
  this.ddlcity.DataSource = sdr1;
  this.ddlcity.DataTextField = "cityName";
  this.ddlcity.DataValueField = "cityID";
  this.ddlcity.DataBind();
  sdr1.Close();
  con.Close();
  }


   

  }
  protected void ddlprovince_SelectedIndexChanged(object sender, EventArgs e)
  {
  string proID = this.ddlprovince.SelectedValue;
  SqlConnection con = new SqlConnection("server=.;database=dropDownTest;integrated security=true;");
  con.Open();
  SqlCommand cmd = new SqlCommand("select*from city where proID=" + proID, con);
  SqlDataReader sdr= cmd.ExecuteReader();
  this.ddlcity.DataSource = sdr;
  this.ddlcity.DataTextField = "cityName";
  this.ddlcity.DataValueField = "cityID";
  this.ddlcity.DataBind();
  sdr.Close();
  con.Close();

  }
}

ddlprovince 为省 dropdownlist ID

ddlcity 为市 dropdownlist ID

proName proID为表provience中的字段 也就是省的

cityName cityID为市city表中的字段 是市的


ddlprovince_SelectedIndexChanged为省的dropdownlist 选中事件 触发绑定 

数据库 Demo 完整
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,