これは ajax テクノロジーを使用しており、更新は確実であり、XMLHTTP 犠牲ページ方式では認識できない速度で完了します。更新が表示されない理由は、すべての作業が犠牲ページで実行されるためです。 , 内「 世の中の「投げ銭」が見えず、効率が悪くなる!
AjaxTest.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AjaxTest.aspx.cs" Inherits="AjaxTest" %>
<!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="サーバー">
<title>無題のページ</title>
</head>
<body>
<script language="javascript" type="text/javascript">
関数 areaResult()
{
var area=document.getElementById("DropDownList1");
//アラート(エリア.値);
AjaxTest.GetCityList(area.value,get_city_Result_CallBack);
}
関数 get_city_Result_CallBack(応答)
{
if (response.value != null)
{
document.all("ドロップダウンリスト2").length=0;
var ds = 応答.値;
if(ds != null && typeof(ds) == "オブジェクト" && ds.Tables != null)
{
for(var i=0; i<ds.Tables[0].Rows.length; i++)
{
var name=ds.Tables[0].Rows[i].name;
var id=ds.Tables[0].Rows[i].id;
document.all("DropDownList2").options.add(新しいオプション(名前,id));
}
//document.all("TextBox1").value="";
}
}
戻る
}
</script>
<form id="form1" runat="server">
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:ドロップダウンリスト>
<asp:DropDownList ID="DropDownList2" runat="server">
</asp:DropDownList>
<br />
</form>
</body>
</html>
システムを使用した
AjaxTest.cs
System.Data を使用します。
System.Configuration を使用します。
System.Collections を使用します。
System.Web を使用します。
System.Web.Security を使用します。
System.Web.UI を使用します。
System.Web.UI.WebControls を使用します。
System.Web.UI.WebControls.WebParts を使用します。
System.Web.UI.HtmlControls を使用します。
MeetWeb を使用する。
パブリック部分クラス AjaxTest : System.Web.UI.Page
{
protected void Page_Load(オブジェクト送信者, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxTest));
if (!Page.IsPostBack)
{
バインドデータ()
;
}
プライベート void BindData()
{
DataSet ds = 新しい DataSet();
String sql = "テストから ID、名前を選択";
試す
{
ds = GetDataSet(sql, "テスト");
this.DropDownList1.DataSource = ds.Tables[0];
this.DropDownList1.DataTextField = "名前";
this.DropDownList1.DataValueField = "id";
this.DropDownList1.DataBind();
this.DropDownList1.Attributes.Add("onclick", "areaResult();");
}
catch (例外例)
{
Response.Write(例:メッセージ);
}
public
static DataSet GetDataSet(string sql, string aa)
{
MeetWeb.SqlDataBase a = new MeetWeb.SqlDataBase("server=localhost\PMSERVER;uid=sa;pwd=sa;database=test");
DataSet ds = 新しい DataSet();
ds=a.CreateSet(sql, aa);
DSを返します。
[AjaxPro.AjaxMethod
]
public DataSet GetCityList(int id)
{
string sql = "テストから名前を選択します。ここで id='" + id + "'";
戻り値 GetDataSet(sql,"テスト");
}
}