加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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 >
< 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 >
2.cs代码
public class WebForm1:System.Web.UI.Page
{
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

}
3.AjaxMethod
using System;
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

}

}
4.web.config
< httpHandlers >
< add verb ="POST,GET" path ="ajax/*.ashx" type ="Ajax.PageHandlerFactory,Ajax" />
</ httpHandlers >
5.ajax.dll下载 /Files/singlepine/Ajax.rar
6.真实数据库下载 /Files/singlepine/area.rar
7.具体配置参见 http://singlepine.cnblogs.com/articles/253393.html
8.源代码下载 /Files/singlepine/AjaxTest.rar
9. XmlHttp实现无刷新三联动下拉框

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读