
<%...@ Page Language="C#" AutoEventWireup="true" CodeFile="ShowCity.aspx.cs" Inherits="Ajax_ShowCity" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>调用数据库里的数据</title>
<script type="text/javascript">...
function LoadListItems()
...{
StartAsyncCall(null,null);
}
function OnServerCallComplete(arg, ctx)
...{
var idsAndNames = arg.split("~");
var ids = idsAndNames[0].split("|");
var names = idsAndNames[1].split("|");
var htmlCode;
var ddl = document.getElementById("ddlList");
for (var i=0; i < ids.length; i++)
...{
htmlCode = document.createElement('option');
ddl.options.add(htmlCode);
htmlCode.text = names[i];
htmlCode.value = ids[i];
}
// Enable our drop down list as it
// should have some values now.
ddl.disabled = false;
}
function OnServerCallError(err, ctx)
...{
alert("There was an error processing the request! Error was [" + err + "]");
}
function OnDropListSelectChanged()
...{
var ddl = document.getElementById("ddlList");
var msg = document.getElementById("msg");
msg.firstChild.nodeValue=ddl.value;
}
</script>
</head>
<body onload="LoadListItems();">
<form id="form1" runat="server" >
<div>
<select id="ddlList"
onchange="OnDropListSelectChanged();" disabled="disabled">
<option>(加载数据...)</option>
</select>
</div>
<hr />
<div>
<label>选择的Value为: </label><span id="msg">{none}</span>
</div>
<div>
<asp:Label ID="lblMessage" runat="server"></asp:Label>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</form>
</body>
</html>
本文介绍了一个使用异步调用从服务器获取城市数据并填充到下拉列表中的示例。通过JavaScript实现页面加载时自动触发数据请求,并在请求成功后更新下拉列表选项。
931

被折叠的 条评论
为什么被折叠?



