ASP.NETでJQuery+AJAX呼び出しバックグラウンド

3590 ワード

注文システムの携帯電話の端末を作る時、1つの問題に出会って、登録機能を実現する時、私はバックグラウンドの方法を呼び出して検証と判断を行います.WebFormを用いて開発したが,通常はボタンをバインドする方法でフロントバックグラウンド対応が可能である.しかし、携帯端末にMUIスタイルを適用すると、このような場合には適用されません.この問題に基づいて,JQuery+Ajax技術を用いているが,実はMUIにもajax技術が付属している.
実装プロセス:
WebFormコード:

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("        !");             
          } 
        } 
      }); 
 
    } 


バックグラウンドコード:

[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; 
    } 


特に注意:
1、webFormページでAjaxテクノロジーを使ってバックグラウンドメソッドを呼び出す場合は、必ずcontentType:「アプリケーション/json;charset=utf-8」を付けます.そうでなければ、バックグラウンドメソッドを呼び出すことはできません.typeタイプは「Post」です.
2、バックグラウンド方法中
第一に、バックグラウンドの方法は静的でなければならない.
第二に、メソッド宣言には[System.Web.Services.WebMethod()];
第三に、伝達されるパラメータの個数も方法のパラメータと同じであるべきである.
もちろん、muiの中で自由なajax技術を使うこともできますが、その使い方は通常のajaxとあまり違いはありません.ただ、書く形式が少し違います.MUIを使って実現するインタフェースの形式は以下の通りです.

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("        !");             
          } 
        } 
      }) 

ajaxテクノロジーは、フロント・バックグラウンド間のインタラクションにも良い方法であり、柔軟な運用は私たちに大きな助けをもたらします.もちろん環境によって設定や使用も異なります.