Heim >Backend-Entwicklung >C#.Net-Tutorial >Verwendung des asynchronen Triggers von asp.net (AJAX)

Verwendung des asynchronen Triggers von asp.net (AJAX)

怪我咯
怪我咯Original
2017-03-31 13:20:351766Durchsuche

Da es im heutigen Projekt asynchron ausgelöst werden muss, geht es zur Überprüfung in die Datenbank, wenn das Textfeld den Fokus verliert, und dann habe ich mir drei Möglichkeiten überlegt.

Eine kurze Einführung in die Verwendung:

1. Verwendung von AjaxPro

1. Fügen Sie Zitat, suchen Sie nach der Datei AjaxPro.2.dll

2. Schreiben Sie den folgenden Code in system.web in Web.config








3. Im Ladeereignis , fügen Sie
AjaxPro.Utility.RegisterTypeForAjax(typeof(class name));

4 hinzu. Alle geschriebenen Methoden sollten mit
[AjaxPro.AjaxMethod] beginnen und dann die Methode
5. Beim Aufruf müssen Sie den Namen der
Namespace-Klasse klar angeben, zum Beispiel: WebUI._Default.getData(); in zwei Teile unterteilt werden Methode (synchroner Aufruf, asynchroner Aufruf)
// Parameterlose Methode im Hintergrund geschrieben [AjaxPro.AjaxMethod]
öffentliche Zeichenfolge getStr()
{
zurückgeben "Hallo meine Freunde";
}
//Methode mit im Hintergrund geschriebenen Parametern
[AjaxPro.AjaxMethod]
public string getString(string str)
{
return str + „Sagen Sie: Hallo meine Freunde“;
}

ein synchroner Aufruf
(1). Klicken Sie darauf und es wird automatisch angezeigt. Im ASPX-Skript
(3) schreiben Sie den Inhalt, den Sie eingeben möchten
//-------------- ----Synchroner Aufruf Keine Parameter -----------
function Button1_onclick()
{
var res=WebUI._Default.getStr(); warning(res .value); }

//----Synchroner Aufruf mit Parametern------------
function Button2_onclick( ) //TextBox1 ist ein Serversteuerelement
{
var str=document.getElementById("<%=TextBox1.ClientID%>").value;
var res= WebUI._Default.getStr(str );
warning(res.value);
}

b. Asynchroner Aufruf
(1). 2) Doppelklicken Sie und es wird automatisch im .aspx-Skript angezeigt
(3) Geben Sie den Inhalt ein, den Sie eingeben möchten
//---------- -------Asynchroner Aufruf Keine Parameter-----------------
function Button3_onclick() {
WebUI._Default.getStr(getStrCallBack);
}
function getStrCallBack(res )
{
alarm(res.value);
}
//----------------- Asynchroner Aufruf hat Parameter----- ------------
function Button4_onclick() {
var str=document.getElementById("<%=TextBox1.ClientID %> ").value;
WebUI ._Default.getString(str,getStringCallBack);
}
function getStringCallBack(res)
{
alarm(res.value);
}

7. Aufruf
Object


//Object
[AjaxPro.AjaxMethod]
public Class getClass()
{
Class cla = new Class();
cla .C_Id = 100;
cla.C_Name = "Class 34";
cla.Count = 20; return cla;}
// --------- ---------Synchronous call object-----------
function Button5_onclick() {
var res=WebUI._Default. getClass().value;
Alert("Klassennummer:"+res.C_Id+"Name:"+res.C_Name+"Anzahl der Personen:"+res.Count);
}
//- ----------- ------Asynchrones Aufrufobjekt-----------
function Button6_onclick() {
WebUI._Default.getClass(getClassCallBack) ;
}
function getClassCallBack( clas)
{
var res=clas.value;
warning("Klassennummer: "+res.C_Id+" Name: "+res.C_Name+" Anzahl der Personen: "+res.Count);
}

8.
Nutzung des Datensatzes

//Methode
[AjaxPro.AjaxMethod]
public DataSet getInfo()
return WebUI.GetDataSet.getList();
}

//------Asynchron Rufen Sie den Datensatz auf ------ --------
function Button8_onclick() {
WebUI._Default.getInfo(getDataSetCallBack);}function getDataSetCallBack(res)
{
var dataset= res.value;
var strHtml="";
   strHtml +='

';
   strHtml +='        ';
   strHtml +='                   < ;td>名称';
   strHtml +='            ';
   strHtml +='        ';

for(var i=0;i    {
       strHtml +='        
';
       strHtml +='            ';
       strHtml +='            ';
       strHtml +='            ';
       strHtml += '        ';
   }
   strHtml +='    
年龄
'+ dataset.Tables[0].Rows[i].stu_id +''+ dataset.Tables[0].Rows[i].stu_name +''+ dataset.Tables[0].Rows[i].stu_age +'
';
   thedata.innerHTML=strHtml;//thedata是一个

中的thedata
}



9.
验证码的使用
//------ ----------------验证码的使用(必须采用同步调用)----------------------

//验证码的使用
[AjaxPro.AjaxMethod]
public bool ValidCodeData(string code)
{
    return (HttpContext.Current.Session["CheckCode"].ToString( )==code);
}

function Button9_onclick() {
   var code=document.getElementById("<%=TextBox2.ClientID %>").value;
var bool=WebUI._Default.ValidCodeData(code).value;
   if(bool==true)
   {
       alert("ok");
   }else
   {
Alert("no");
   }
}
AjaxPro.dll文件网上很多的,自己下,如果找不到呢,给我发个留言,我发你邮箱



二,直接调用:

Javascript中:<%=后台方法%> Funktion sagt()
   {
       alert(" <%=Say()%>");
   }
   function del()
   {
        warning("<%=DeleteByID(8)%>");// DeleteByID(8)后台方法名
   }

三,采用ICallbackEventHandler回调

/**//*
* Deklarieren Sie die ICallbackEventHandler
-Schnittstelle Um den Servercode auf dem Client ohne Postback aufzurufen, müssen Sie die Schnittstelle deklarieren und ihre beiden Methoden implementieren: * RaiseCallbackEvent( ), GetCallbackResult( )
* Die Parameter von RaiseCallbackEvent() werden von der Rezeption übergeben. Abhängig von den übergebenen Parametern werden verschiedene Codes ausgeführt und die Ergebnisse werden mit GetCallbackResult() an die Rezeption zurückgegeben*/

//必须声明System.Web. UI.ICallbackEventHandler接口
public partial class _Default : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler
{
   //定义一个回调的返回值
   private string Result;
   //定义两个
变量
,用来接收页面传过来到操作数    private string Num1;    private string Num2;
  protected void Page_Load(object sender, EventArgs e )
   {

    }

   /**////
   ///这个方法中处理回调的内容,该方法没有返回值
   ///

   /// 此参数是从客户端传过来的
   public void RaiseCallbackEvent(string eventArgument)
   {
//eventArgumeng ist der von Javascript vom Client übergebene Parameter. In diesem Beispiel werden drei Parameter übergeben und durch „/“ getrennt. Jeder Parameter wird herausgenommen und im Array
string[] gespeichert. PagParams = eventArgument.Split( '/');
Num1 = PagParams[1];
Num2 = PagParams[2];
//Gemäß dem ersten Parameter (ausgewählter Operator ), rufe unterschiedliche Ausführung von Funktionen auf. case „1“ /// Diese Methode gibt das Ergebnis des Rückrufs an den Client zurück
///
///
public string GetCallbackResult( )
{
return Result;
}

// four Die Funktion ist die Funktion, die vom Rückruf aufgerufen wird, um den Vorgang über die RaiseCallbackEvent-Methode
private Zeichenfolge add() {
double addResult = double.Parse(Num1) + double.Parse(Num2);
return addResult.ToString();
}

private string sub()
{
double addResult = double.Parse(Num1) - double.Parse(Num2);
return addResult .ToString();
}

private string multi()
{
double addResult = double.Parse(Num1) * double.Parse(Num2);
return addResult();
}

private string pision()
{
double adresult = double.Parse(Num1) / double.Parse(Num2);
return addresult.ToString ();
}
}





-->


Das obige ist der detaillierte Inhalt vonVerwendung des asynchronen Triggers von asp.net (AJAX). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn