Dies verwendet Ajax-Technologie, die Aktualisierung ist sicher und wird mit einer Geschwindigkeit durchgeführt, die uns nicht bekannt ist. Der Grund, warum wir die Aktualisierung nicht sehen können, liegt darin, dass die gesamte Arbeit auf der Opferseite ausgeführt wird , innen " Wir können das "Werfen" der Welt nicht sehen, und die Effizienz ist schlechter!
AjaxPro.dll-Download-Adresse <Konfiguration>
<system.web>
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>
</system.web>
</configuration>
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="server">
<title>Unbenannte Seite</title>
</head>
<body>
<script language="javascript" type="text/javascript">
Funktion areaResult()
{
var area=document.getElementById("DropDownList1");
//alert(area.value);
AjaxTest.GetCityList(area.value,get_city_Result_CallBack);
}
Funktion get_city_Result_CallBack(response)
{
if (response.value != null)
{
document.all("DropDownList2").length=0;
var ds = Antwort.Wert;
if(ds != null && typeof(ds) == "object" && 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(new Option(name,id));
}
//document.all("TextBox1").value="";
}
}
zurückkehren
}
</script>
<form id="form1" runat="server">
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server">
</asp:DropDownList>
<br />
</form>
</body>
</html>
AjaxTest.cs
using System;
Verwenden von System.Data;
Verwenden von System.Configuration;
Verwenden von System.Collections;
mit System.Web;
mit System.Web.Security;
mit System.Web.UI;
mit System.Web.UI.WebControls;
mit System.Web.UI.WebControls.WebParts;
mit System.Web.UI.HtmlControls;
mit MeetWeb;
öffentliche Teilklasse AjaxTest: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxTest));
if (!Page.IsPostBack)
{
BindData();
}
}
private void BindData()
{
DataSet ds = new DataSet();
String sql = "ID und Namen aus Test auswählen";
versuchen
{
ds = GetDataSet(sql, "test");
this.DropDownList1.DataSource = ds.Tables[0];
this.DropDownList1.DataTextField = "name";
this.DropDownList1.DataValueField = "id";
this.DropDownList1.DataBind();
this.DropDownList1.Attributes.Add("onclick", "areaResult();");
}
Catch (Ausnahme ex)
{
Response.Write(ex.Message);
}
}
öffentliches statisches DataSet GetDataSet(string sql, string aa)
{
MeetWeb.SqlDataBase a = new MeetWeb.SqlDataBase("server=localhost\PMSERVER;uid=sa;pwd=sa;database=test");
DataSet ds = new DataSet();
ds=a.CreateSet(sql, aa);
return ds;
}
[AjaxPro.AjaxMethod]
öffentliches DataSet GetCityList(int id)
{
string sql = "Name aus Test auswählen, wobei id='" + id + "'";
return GetDataSet(sql,"test");
}
}