再谈 N 个 ASP.net DropDownList 无刷新联动菜单

王朝c#·作者佚名  2006-12-17
宽屏版  字体: |||超大  

再谈 N 个 ASP.net DropDownList 无刷新联动菜单

再谈 N 个 ASP.net DropDownList 无刷新联动菜单 <script language='javascript'>

function load(state)

{

var drp2 = document.getElementById('DropDownList2');

for(var i=0;i<=drp2.options.length-1;i++)

{

drp2.remove(i);

}

var oHttpReq = new ActiveXObject('MSXML2.XMLHTTP'); //发送请求

var oDoc = new ActiveXObject('MSXML2.DOMDocument'); //响应结果

var state=document.getElementById('DropDownList1').value;

oHttpReq.open('post','webform2.aspx?state='+state, false);

oHttpReq.send('');

result = oHttpReq.responseText;

oDoc.loadXML(result);

// items = oDoc.selectNodes('//CITY/Table');

items = oDoc.selectNodes('//address/Table');

for (var item = items.nextNode();item;item = items.nextNode())

{

var city = item.selectSingleNode('//address').nodeTypedValue;

var newOption = document.createElement('OPTION');

newOption.text = city;

newOption.value = city;

drp2.options.add(newOption);

}

}

</script>

============================

webform1.aspx

private void Page_Load(object sender, System.EventArgs e)

{

// 在此处放置用户代码以初始化页面

if(!IsPostBack)

{

SqlConnection con = new SqlConnection('packet size=4096;user id=sa;data source=SERVER;persist security info=False;initial catalog=pubs');

SqlDataAdapter da = new SqlDataAdapter('select state from authors group by state',con);

DataSet ds = new DataSet('State');

da.Fill(ds);

this.DropDownList1.DataSource = ds.Tables[0];

this.DropDownList1.DataTextField = 'state';

this.DropDownList1.DataValueField = 'state';

this.DropDownList1.DataBind();

this.DropDownList1.Attributes.Add('onchange','load()');

//DropDownList1.

}

}

webform2.aspx

private void Page_Load(object sender, System.EventArgs e)

{

// 在此处放置用户代码以初始化页面

if(this.Request['state']!=null)

{

string state = this.Request['state'].ToString();

SqlConnection con = new SqlConnection('packet size=4096;user id=sa;data source=SERVER;persist security info=False;initial catalog=pubs');

SqlDataAdapter da = new SqlDataAdapter('select address from authors where state = ''+state+''',con);

DataSet ds = new DataSet('address');

da.Fill(ds);

XmlTextWriter writer = new XmlTextWriter(Response.OutputStream, Response.ContentEncoding);

writer.Formatting = Formatting.Indented;

writer.Indentation = 4;

writer.IndentChar = ' ';

ds.WriteXml(writer);

writer.Flush();

Response.End();

writer.Close();

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有