2012年10月23日 星期二

透過 jQuery 呼叫 code-behind webmethod


於網頁中加入以下函數
====
function CallPageMethod(methodName, onSuccess) {
            var args = '';
            var l = arguments.length;
            if (l > 2) {
                for (var i = 2; i < l - 1; i += 2) {
                    if (args.length != 0) args += ',';
                    args += '"' + arguments[i] + '":"' + arguments[i + 1] + '"';
                }
            }
            var loc = window.location.href;
            loc = (loc.substr(loc.length - 1, 1) == "/") ? loc + "default.aspx" : loc;
            $.ajax({
                type: "POST",
                url: loc + "/" + methodName,
                data: "{" + args + "}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: onSuccess
            });
        }

呼叫方式
====
CallPageMethod([webmethod name], [成功時呼叫的函數名稱], [參數名稱1], [參數值1],[參數名稱2], [參數值2],...);

function [成功時呼叫的函數名稱](response) {
            //do something, response.d=webmethod return value
        }

沒有留言:

自訂權限驗證機制

// 使用 filter [Route("api/[controller]")] [ApiController] [Authorize] [TypeFilter(typeof(CustomAsyncAuthorizationFilter))] public c...