モバイル版の注文システムを開発していたとき、ログイン機能を実装する際に検証と判断のためにバックグラウンドメソッドを呼び出さなければならないという問題が発生しました。開発には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. webFor で Ajax テクノロジーを使用して m 上でバックグラウンド メソッドを呼び出す場合ページ、ありますcontentType : "application/json; charset=utf-8" を必ず追加してください。そうしないと、バックグラウンド メソッドを呼び出すことができません。タイプは「ポスト」です。
2. バックグラウンドメソッド内
‐ ’ ’ s ’ s ’ ’ ’ ’ ’ with with with ’ パラメータの数もメソッドのパラメータと同じである必要があります。
もちろん、mui で無料の ajax テクノロジーを使用することもできます。その使用方法は、MUI を使用して実装されるインターフェイス フォームが少し異なることを除いて、通常の ajax とあまり変わりません。
ajax テクノロジーは、フロントエンドとバックエンドの間で対話するための優れた方法でもあり、その柔軟な使用は大きな助けになります。もちろん、環境に応じて設定や使い方も異なります。ASP.NET での JQuery+AJAX 呼び出しバックグラウンドに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。