前端頁面直接路由到aspx後臺WebMethod的使用

前端代碼:

                         $.ajax({
                             type: "post",
                             url: "BoxInput.aspx/GetDeliveryNo",
                             data: "{ 'BarCode': '"+$("#saomiaoma_beforePirefix").val()+"' }",
                             contentType: "application/json; charset=utf-8",
                             dataType: "json",
                             async: false,
                             success: function (data) {
                                 $.post("BoxInputScanning.ashx?method=LockBeforePirefix", { DNNumber: data.d }, function (result) {
                                     if (result == "5173LOGIN") {
                                         alert("登陸過期,請重新登陸!");
                                     } else if (result == "5173ERROR") {
                                         alert("該條形碼無效!");
                                     } else if (result == "") {
                                         alert("未能該發運單:" + $("#saomiaoma_beforePirefix").val() + "維護編箱前綴!");
                                         $("#saomiaoma_beforePirefix").removeAttr("disabled");
                                         $("#saomiaoma_beforePirefix").val("");
                                     } else {
                                         $("#beforePirefix").val(result);
                                         $("#saomiaoma_beforePirefix").val("發運單:" + $("#saomiaoma_beforePirefix").val() + ",編箱前綴:" + result);
                                         $("#saomiaoma").removeAttr("disabled");
                                         $("#btn_tiaoxingmasaomiao").removeAttr("disabled");
                                         alert("鎖定的編箱前綴爲:" + result);
                                     }
                                 }, "text");

                             },
                             error: function (err) {
                                 debugger;
                                 alert(err);
                             }
                         });   

後臺代碼:

    [WebMethod]
    public static string GetDeliveryNo(string BarCode)
    {
        var result = "";
        var sql = "select OLDBARCODE from BARCODESTORAGE where barcode = :barcode";
        var scalar = cms_bl.OracleDatabase.ExecuteScalar(cms_bl.ConnfigSetting.getEleBillConnStr(), CommandType.Text, sql,
            new OracleParameter[1] { new OracleParameter(":BarCode", BarCode) });
        if (scalar != null)
        {
            result = scalar.ToString().Split(';')[1];
        }
        return result;
    }

注意事項:
1.ajax的data必須爲json的字符串格式,而不是json對象;
2.ajax提交必須爲post方式,無法使用$.post()。
3.後臺代碼的方法加[WebMethod]屬性,需要用public static 修飾。
4.爲保證asp.net的模型綁定系統能夠識別,需要保證參數名及個數和前端一致
5.返回的數據必須用data.d來獲取。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章