如何从Jquery中的pagemethods获取返回值..?

时间:2012-11-03 07:12:31

标签: c# jquery asp.net

如何从PageMethods返回true / false到OnclientClick事件.. ?? 这是Jquery函数,它将调用某个按钮的OnClientClick事件。如果此函数返回true,我想执行一些服务器端方法..?但是如何将值返回给OnClientClick事件.. ??

这是我的代码..

function SendFriendReq(FriendReq) {
        PageMethods.CheckFriend(FriendReq, function (ResString) {
        // Here I Want to send True/False to OnClientEvent based on ResStirng value  
        });

    }

2 个答案:

答案 0 :(得分:2)

使用jQuery Ajax,如果您的WebMethod定义如下:

[WebMethod]
public static string GetTime()
{
    return DateTime.Now.ToString();
}

您可以通过此页面的javascript调用它:

$.ajax({
    type: "POST",
    url: "MyPage.aspx/GetTime",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(data) {
        var time = data.d;
    }
});

如果您不想使用ASP.NET自动生成的JavaScript代理,则可以使用此选项。我个人更喜欢使用jQuery,因为它是适用于大多数Web Services实现的通用解决方案。

答案 1 :(得分:-1)

您可以使用这样的返回值调用PageMethod,如果您不想传递任何参数,那么您可以删除它们:

PageMethods.AddDocumentToCRM(imagedata, retrievedGuid,
    function(result) {
        if (result != null || result != undefined)
            appendMessage("<span style='color:#cE5E04'><b>Document Uploaded.</b></span> <br /><b>Note GUID : </b>" + result + "<br />");
        else
            appendMessage("<span style='color:#cE5E04'<b>Document Uploaded Fail.</b></span>");
        }
    );