Heim  >  Artikel  >  Backend-Entwicklung  >  JQuery+AJAX-Aufrufhintergrund in ASP.NET

JQuery+AJAX-Aufrufhintergrund in ASP.NET

高洛峰
高洛峰Original
2016-12-16 16:19:411965Durchsuche

Als ich an der mobilen Version des Essensbestellsystems arbeitete, stieß ich auf ein Problem bei der Implementierung der Anmeldefunktion, ich musste die Hintergrundmethode zur Überprüfung und Beurteilung aufrufen. Wir verwenden webForm für die Entwicklung, solange die Schaltflächenbindungsmethode verwendet wird, kann die Front-End- und Back-End-Korrespondenz erreicht werden. Nach der Anwendung des MUI-Stils auf dem Mobiltelefon ist er jedoch in dieser Situation nicht mehr anwendbar. Basierend auf diesem Problem verwenden wir die JQuery+Ajax-Technologie. Tatsächlich verfügt MUI auch über Ajax-Technologie.

Implementierungsprozess:

WebForm-Code:

function login() {      
      var name = document.getElementById("username").value; //获取用户名
      var password = document.getElementById("userpassword").value; //获取密码
      var params = '{name:"' + name + '",password:"' + password + '"}'; //将用户名和密码作为参数传过去
      $.ajax({
        url: "LoginMobile.aspx/test", //调用后台方法
        data: params,
        type: "post",
        dataType: 'text',
        contentType: "application/json; charset=utf-8", //设置类型,注意一定不能丢
        success: function (data) {          
          if (data == '{"d":true}') { //注意判断条件
            window.location = "../Order/OrderMobile.aspx";
          } else {            
            mui.toast("用户名或密码错误!");            
          }
        }
      });
  
    }

Backend-Code:

[WebMethod]
    public static bool test(string name,string password) {
      //实例化登录业务逻辑类
      CardBll cardBll = new CardBll();
      userBll user = new userBll();
      Page page = (Page)System.Web.HttpContext.Current.Handler;
      bool Flag = false;
  
      //一般用户
      if (name.Length > 5)
      {
        Flag = cardBll.isExist(name, password);
        if (Flag == true)
        {
          System.Web.HttpContext.Current.Session["Admin"] = name;
          //Session["Admin"] = name;
          //Session["Username"] = cardBll.username(TxtName .Text .Trim (),TxtPassword.Text .Trim ());
          System.Web.HttpContext.Current.Session["Username"] = cardBll.username(name);
          System.Web.HttpContext.Current.Session["cardLevel"] = cardBll.cardLevel(name);
          if (System.Web.HttpContext.Current.Session["cardLevel"].ToString() == "普通用户")
          {
           Flag = true;
          }
        }       
         
      }
      return Flag;
    }

Besonderer Hinweis:

1. Wenn Sie die Ajax-Technologie zum Aufrufen von Hintergrundmethoden auf der WebForm-Seite ausprobieren, fügen Sie unbedingt contentType: „application/json; charset=“ hinzu utf-8". Andernfalls kann die Hintergrundmethode nicht aufgerufen werden. Der Typ ist „Beitrag“.

2. In der Hintergrundmethode

Erstens muss die Hintergrundmethode statisch sein

Zweitens muss die Methodendeklaration mit dem Attribut [System.Web.Services . WebMethod()];

Drittens sollte die Anzahl der übergebenen Parameter auch mit den Parametern der Methode übereinstimmen.

Natürlich können Sie auch die kostenlose Ajax-Technologie in Mui verwenden. Die Verwendung unterscheidet sich nicht wesentlich von der normalen Ajax-Technologie, außer dass die mit MUI implementierte Schnittstellenform wie folgt ist.

mui.ajax('LoginMobile.aspx/test', {
        data: params,
        dataType: 'text',
        type: 'post',
        contentType: "application/json; charset=utf-8",
        success: function (data) {          
           if (data == '{"d":true}') {
            window.location = "../Order/OrderMobile.aspx";
          } else {            
            mui.toast("用户名或密码错误!");            
          }
        }
      })

Auch für die Interaktion zwischen Front- und Backend ist die Ajax-Technologie eine gute Möglichkeit und ihr flexibler Einsatz wird uns enorm helfen. Natürlich müssen je nach Umgebung unterschiedliche Einstellungen und Nutzungen vorgenommen werden.


Weitere Artikel zum JQuery+AJAX-Aufrufhintergrund in ASP.NET finden Sie auf der chinesischen PHP-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