Ajax实现无刷新三联动下拉框例子
发布时间:2020-12-16 00:56:16 所属栏目:百科 来源:网络整理
导读:1.html代码 HTML HEAD title Ajax实现无刷新三联动下拉框 / title meta content ="MicrosoftVisualStudio.NET7.1" name ="GENERATOR" meta content ="C#" name ="CODE_LANGUAGE" meta content ="JavaScript" name ="vs_defaultClientScript" meta content ="
1.html代码
<
HTML
>
2.cs代码
< HEAD > < title > Ajax实现无刷新三联动下拉框 </ title > < meta content ="MicrosoftVisualStudio.NET7.1" name ="GENERATOR" > < meta content ="C#" name ="CODE_LANGUAGE" > < meta content ="JavaScript" name ="vs_defaultClientScript" > < meta content ="http://schemas.microsoft.com/intellisense/ie5" name ="vs_targetSchema" > < SCRIPT language ="javascript" > //城市------------------------------ functioncityResult() { varcity=document.getElementById("DropDownList1"); AjaxMethod.GetCityList(city.value,get_city_Result_CallBack); } functionget_city_Result_CallBack(response) { if(response.value!=null) { //debugger; document.all("DropDownList2").length=0; vards=response.value; if(ds!=null&&typeof(ds)=="object"&&ds.Tables!=null) { for(vari=0;i<ds.Tables[0].Rows.length;i++) { varname=ds.Tables[0].Rows[i].city; varid=ds.Tables[0].Rows[i].cityID; document.all("DropDownList2").options.add(newOption(name,id)); } } } return } //市区---------------------------------------- functionareaResult() { vararea=document.getElementById("DropDownList2"); AjaxMethod.GetAreaList(area.value,get_area_Result_CallBack); } functionget_area_Result_CallBack(response) { if(response.value!=null) { document.all("DropDownList3").length=0; vards=response.value; if(ds!=null&&typeof(ds)=="object"&&ds.Tables!=null) { for(vari=0;i<ds.Tables[0].Rows.length;i++) { varname=ds.Tables[0].Rows[i].area; varid=ds.Tables[0].Rows[i].areaID; document.all("DropDownList3").options.add(newOption(name,id)); } } } return } functiongetData() { varprovince=document.getElementById("DropDownList1"); varpindex=province.selectedIndex; varpValue=province.options[pindex].value; varpText=province.options[pindex].text; varcity=document.getElementById("DropDownList2"); varcindex=city.selectedIndex; varcValue=city.options[cindex].value; varcText=city.options[cindex].text; vararea=document.getElementById("DropDownList3"); varaindex=area.selectedIndex; varaValue=area.options[aindex].value; varaText=area.options[aindex].text; vartxt=document.getElementById("TextBox1"); document.getElementById("<%=TextBox1.ClientID%>").innerText="省:"+pValue+"|"+pText+"市:"+cValue+"|"+cText+"区:"+aValue+"|"+aText; } </ SCRIPT > </ HEAD > < body ms_positioning ="GridLayout" > < form id ="Form1" method ="post" runat ="server" > < TABLE id ="Table1" style ="Z-INDEX:101;LEFT:96px;POSITION:absolute;TOP:32px" cellSpacing ="1" cellPadding ="1" width ="300" border ="1" bgColor ="#ccff66" > < TR > < TD > 省市 </ TD > < TD >< asp:dropdownlist id ="DropDownList1" runat ="server" ></ asp:dropdownlist ></ TD > </ TR > < TR > < TD > 城市 </ TD > < TD >< asp:dropdownlist id ="DropDownList2" runat ="server" ></ asp:dropdownlist ></ TD > </ TR > < TR > < TD > 市区 </ TD > < TD >< asp:dropdownlist id ="DropDownList3" runat ="server" ></ asp:dropdownlist ></ TD > </ TR > </ TABLE > < asp:TextBox id ="TextBox1" style ="Z-INDEX:102;LEFT:416px;POSITION:absolute;TOP:48px" runat ="server" Width ="424px" ></ asp:TextBox >< INPUT style ="Z-INDEX:103;LEFT:456px;WIDTH:56px;POSITION:absolute;TOP:96px;HEIGHT:24px" type ="button" value ="test" onclick ="getData();" > </ form > </ body > </ HTML >
public
class
WebForm1:System.Web.UI.Page 3.AjaxMethod
{ protectedSystem.Web.UI.WebControls.DropDownListDropDownList1; protectedSystem.Web.UI.WebControls.DropDownListDropDownList2; protectedSystem.Web.UI.WebControls.TextBoxTextBox1; protectedSystem.Web.UI.WebControls.DropDownListDropDownList3; privatevoidPage_Load(objectsender,System.EventArgse) { Ajax.Utility.RegisterTypeForAjax(typeof(AjaxMethod)); if(!Page.IsPostBack) { this.DropDownList1.DataSource=AjaxMethod.GetPovinceList(); this.DropDownList1.DataTextField="province"; this.DropDownList1.DataValueField="provinceID"; this.DropDownList1.DataBind(); this.DropDownList1.Attributes.Add("onclick","cityResult();"); this.DropDownList2.Attributes.Add("onclick","areaResult();"); } } #regionWebFormDesignergeneratedcode overrideprotectedvoidOnInit(EventArgse) { // //CODEGEN:ThiscallisrequiredbytheASP.NETWebFormDesigner. // InitializeComponent(); base.OnInit(e); } ///<summary> ///RequiredmethodforDesignersupport-donotmodify ///thecontentsofthismethodwiththecodeeditor. ///</summary> privatevoidInitializeComponent() { this.Load+=newSystem.EventHandler(this.Page_Load); } #endregion }
using
System; 4.web.config
using System.Data; using System.Data.SqlClient; namespace AjaxTest { ///<summary> ///SummarydescriptionforAjaxMethod. ///</summary> publicclassAjaxMethod { #regionGetPovinceList publicstaticDataSetGetPovinceList() { stringsql="select*frompovince"; returnGetDataSet(sql); } #endregion #regionGetCityList [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)] publicDataSetGetCityList(intpovinceid) { stringsql="select*fromcitywherefather='"+povinceid+"'"; returnGetDataSet(sql); } #endregion #regionGetAreaList [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)] publicDataSetGetAreaList(intcityid) { stringsql="select*fromareawherefather='"+cityid+"'"; returnGetDataSet(sql); } #endregion #regionGetDataSet publicstaticDataSetGetDataSet(stringsql) { stringConnectionString=System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]; SqlDataAdaptersda=newSqlDataAdapter(sql,ConnectionString); DataSetds=newDataSet(); sda.Fill(ds); returnds; } #endregion } }
<
httpHandlers
>
5.ajax.dll下载
/Files/singlepine/Ajax.rar
< add verb ="POST,GET" path ="ajax/*.ashx" type ="Ajax.PageHandlerFactory,Ajax" /> </ httpHandlers > 6.真实数据库下载 /Files/singlepine/area.rar 7.具体配置参见 http://singlepine.cnblogs.com/articles/253393.html 8.源代码下载 /Files/singlepine/AjaxTest.rar 9. XmlHttp实现无刷新三联动下拉框 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |