前端页面直接路由到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来获取。

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