<asp:DropDownList onChange="GetChange(this);" id="drp1" runat="server"></asp:DropDownList>
<asp:DropDownList id="drp2" runat="server"></asp:DropDownList>
js脚本:
![](/Images/OutliningIndicators/ContractedBlock.gif)
返回数据
function GetChange(drp)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
var num = drp.options[drp.selectedIndex].value;
WebForm3.GetDrp(num,drp_CallBack);
}
function drp_CallBack(response)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
if(response.error != null)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
alert(response.error);
return;
}
var drp = document.getElementById("<% = drp2.ClientID %>");
var data = response.value;
if(data == null || typeof(data) != 'object')
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
return;
}
drp.options.length = 0;
for(i=0;i<data.length;i++)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
var o = data[i];
drp.options[drp.options.length] = new Option(data[i],data[i]);
}
}后台代码实现
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
private void Page_Load(object sender, System.EventArgs e)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
// 在此处放置用户代码以初始化页面
Ajax.Utility.RegisterTypeForAjax(typeof(ZKMarketing.WebForm3));
if(!Page.IsPostBack)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
for(int i=5;i<11;i++)
drp1.Items.Add(new ListItem(i.ToString(),i.ToString()));
drp2.Items.Add(new ListItem("请选择","-1"));
}
}
[Ajax.AjaxMethod()]
public ArrayList GetDrp(int num)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
ArrayList al = new ArrayList(num);
al.Clear();
for(int i=0;i<num;i++)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
ListItem li = new ListItem(i.ToString(),i.ToString());
al.Add(li);
}
return al;
}同时要设置web.Config文件,
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
</httpHandlers>
上面是我在做一个具体项目的时候,做的一个测试页面,由于是第一次,所以就写了上面的这样一个简单的测试页面来实现AJAX,现在具体的项目中的功能也基本上完成。