นี่คือการใช้เทคโนโลยี ajax การรีเฟรชนั้นแน่นอน และเสร็จสิ้นด้วยความเร็วที่เราไม่ทราบ วิธีการหน้าเสียสละ XMLHTTP สาเหตุที่เราไม่สามารถเห็นการรีเฟรชได้เนื่องจากงานทั้งหมดดำเนินการบนหน้าการสังเวย ภายใน " เราไม่เห็น "การโยน" ของโลกและประสิทธิภาพก็แย่ลง!
ที่อยู่การดาวน์โหลด AjaxPro.dll <configuration>
<system.เว็บ>
<httpตัวจัดการ>
<เพิ่มกริยา = "POST, GET" path = "ajax/*.ashx" type = "Ajax.PageHandlerFactory, Ajax" />
<เพิ่มกริยา = "POST, GET" path = "ajaxpro/*.ashx" type = "AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
</httpตัวจัดการ>
</system.เว็บ>
</configuration>
AjaxTest.aspx
<%@ ภาษาเพจ = "C#" AutoEventWireup = "true" CodeFile = "AjaxTest.aspx.cs" สืบทอด = "AjaxTest" %>
<! DOCTYPE html PUBLIC "-// W3C//DTD XHTML 1.0 เฉพาะกาล//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" http://www.w3.org/1999/xhtml " >
<หัว runat="เซิร์ฟเวอร์">
<title>หน้าที่ไม่มีชื่อ</title>
</head>
<body>
<script language="javascript" type="text/javascript">
ฟังก์ชั่น areaResult()
-
var area=document.getElementById("DropDownList1");
//alert(area.value);
AjaxTest.GetCityList(area.value,get_city_Result_CallBack);
-
ฟังก์ชั่น get_city_Result_CallBack (ตอบกลับ)
-
ถ้า (response.value != null)
-
document.all("DropDownList2").length=0;
var ds = การตอบสนองค่า;
if(ds != null && typeof(ds) == "วัตถุ" && ds.Tables != null)
-
สำหรับ (var i=0; i<ds.Tables[0].Rows.length; i++)
-
ชื่อ var=ds.Tables[0].แถว[i].ชื่อ;
var id=ds.Tables[0].แถว[i].id;
document.all("DropDownList2").options.add(ตัวเลือกใหม่(ชื่อ,id));
-
//document.all("TextBox1").value="";
-
-
กลับ
}
</สคริปต์>
<form id="form1" runat="server">
<asp:DropDownList ID="DropDownList1" runat="เซิร์ฟเวอร์">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="เซิร์ฟเวอร์">
</asp:DropDownList>
<br />
</แบบฟอร์ม>
</ร่างกาย>
</html>
AjaxTest.cs
โดยใช้ระบบ;
ใช้ System.Data;
โดยใช้ระบบการกำหนดค่า;
ใช้ 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
-
โมฆะที่ได้รับการป้องกัน Page_Load (ผู้ส่งวัตถุ EventArgs e)
-
AjaxPro.Utility.RegisterTypeForAjax (ประเภทของ (AjaxTest));
ถ้า (!หน้า IsPostBack)
-
ผูกข้อมูล();
}
-
BindData เป็นโมฆะส่วนตัว ()
-
ชุดข้อมูล ds = ชุดข้อมูลใหม่ ();
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 (เช่น ข้อความ);
-
}
ชุดข้อมูลคงที่สาธารณะ GetDataSet (สตริง sql, สตริง aa)
-
MeetWeb.SqlDataBase a = ใหม่ MeetWeb.SqlDataBase("server=localhost\PMSERVER;uid=sa;pwd=sa;database=test");
ชุดข้อมูล ds = ชุดข้อมูลใหม่ ();
ds=a.CreateSet(sql, aa);
กลับds;
}
[AjaxPro.AjaxMethod]
ชุดข้อมูลสาธารณะ GetCityList (int id)
-
string sql = "เลือกชื่อจากการทดสอบ โดยที่ id='" + id + "'";
กลับ GetDataSet(sql,"ทดสอบ");
-
-