本教程实现的功能是一个dropdownlist1 值改变另一个dropdownlist2的内容随着dropdownlist1 改变而改变,这个改变的数据是从数据库调出来的。
1、首先下载AJAX类库Ajax.dll
2、引用Ajax.all类库
3、在Web.config里配置Ajax
在<system.web></system.web>里加上这样一句话:
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory,Ajax"/>
</httpHandlers>
3、在页面Page_Load()时间里注册要使用ajax页面,如:
private void Page_Load(object sender, System.EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(WebForm2));//WebForm2是这个页面的类名
}
4、写在html页面里写javascript代码,如:
<script language="javascript">
function sWinNoResult() //这一个方法是html控件调用的,如:onchange="sWinNoResult();"
{
var swinno =document.getElementById("ddl_sWinNo");
WebForm2.GetDataSet(swinno.value,get_city_Result_CallBack);
//GetDataSet这个方法就是WebForm2.aspx.cs里的方法,如下:
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]这一句是必须的。
//get_city_Result_CallBack这个就是返回数据后要调用的javascript的方法,如下:
}
function get_city_Result_CallBack(response)//response就是后台返回的值
{
if (response.value != null)
{
document.all("ddl_sItemNo").length=0;
var ds = response.value;
var strtext="";
if(ds != null && typeof(ds) == "object" && ds.Tables != null)
{
document.all("ddl_sItemNo").options.add(new Option("==请选择==",""));
for(var i=0; i<ds.Tables[0].Rows.length; i++)
{
var name=ds.Tables[0].Rows[i].AUTHORNAME;
var id=ds.Tables[0].Rows[i].AUTHORNO;
document.all("ddl_sItemNo").options.add(new Option(name,id));
}
}
}
return
}
</script>
5、参考以上代码,自己慢慢练吧。