4

我有一个页面方法,它在服务器端进行一些复杂的验证。我有一个按钮来验证。javascript代码如下:

function resultOfValidation(result);
{
    return result;
}

function IsValidDate()
{
    PageMethods.ComplicatedValidation(resultOfValidation);
}

C#代码:

[WebMethod]
public static bool ComplicatedValidation()
{
    return true;
} 

但我想做

function IsDateTimeAvailable()
{
    var result= PageMethods.ComplicatedValidation();
}

据我所知,这是不可能的。如果您有其他选择,请指导我。

4

3 回答 3

4

客户端 webmethod 的最后两个参数是成功和错误回调。你可以使用它们。返回值像参数一样传递给那些函数。

于 2012-09-11T10:03:50.637 回答
3

更多的...

function GetValue() 
{ 
    return PageMethods.GetValueFromServer( 
     function(result) 
       { 
          // The result that is returned from server 
          //Now do what ever you would like to do. 
       }
    ); 
}
于 2012-09-11T10:01:51.850 回答
0

你可以尝试这样的事情:

           var secuencias = new String;
           jQuery("#add_note").click(function() {

                                                    $.ajax({
                                                    type: "POST",
                                                    url: '<%= ResolveUrl("~/Paginas/EscuchadorAlertas.aspx/ConsultarAlertas") %>',
                                                    data: "{}",
                                                    contentType: "application/json; charset=utf-8",
                                                    dataType: "json",
                                                    async: false,
                                                    success: function(msg) {
                                                        secuencias = msg.d;
                                                    },
                                                    error: function() {
                                                        alert("error");
                                                   }
                                                   });
                                                });

正如您在变量 secuencia 中看到的那样,存储了 de 函数 ConsultarAlertas 的值,这是一个仅返回字符串的 PageMethods 函数。

于 2013-10-09T21:09:47.583 回答