如何将变量传递给Page Method Success回调函数

时间:2013-08-02 12:20:44

标签: c# asp.net ajax pagemethods

我正在使用asp.net PageMethods.So这里是我从javascript调用方法的方式

function hello()
{
    var a =10;
    PageMethods.SaveData(JSON.stringify(basicInfo), SaveSuccessCallback, SaveFailedCallback);
}

这是我的成功回电条件

    function SaveSuccessCallback(response) {
    //handle success code here
    ShowEdit();
}

现在我想根据hello函数中的变量ShowEdit()来处理a。 问题是我不知道是否可以将ahello传递到SaveSuccessCallbackNote:我不能使a全球化。

1 个答案:

答案 0 :(得分:3)

您可以使用closure

var a = 10;
PageMethods.SaveData(
    JSON.stringify(basicInfo),
    function(response) { 
        SaveSuccessCallback(response);
        ShowEdit(a);
    }, SaveFailedCallback);

function SaveSuccessCallback(response) {
   //handle success code here
}

您可能更喜欢通过用另一种方法包装闭包来使它更清洁:

PageMethods.SaveData(
    JSON.stringify(basicInfo), SaveSuccessCallback(10), SaveFailedCallback);

function SaveSuccessCallback(a) {
    return function(response) {
        //handle success code here
        ShowEdit(a);
    };
}