Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从asp.net中的page方法返回值_C#_Javascript_Asp.net_Pagemethods - Fatal编程技术网

C# 从asp.net中的page方法返回值

C# 从asp.net中的page方法返回值,c#,javascript,asp.net,pagemethods,C#,Javascript,Asp.net,Pagemethods,我有一个页面方法,它在服务器端执行一些复杂的验证。 我有一个按钮要验证。 javascript代码如下: function resultOfValidation(result); { return result; } function IsValidDate() { PageMethods.ComplicatedValidation(resultOfValidation); } C#代码: 但我想做喜欢的事 function IsDateTimeAvailable() {

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

function resultOfValidation(result);
{
    return result;
}

function IsValidDate()
{
    PageMethods.ComplicatedValidation(resultOfValidation);
}
C#代码:

但我想做喜欢的事

function IsDateTimeAvailable()
{
    var result= PageMethods.ComplicatedValidation();
}
据我所知,这是不可能的。如果你有其他选择, 那么请给我引路。


客户端webmethod的最后两个参数是success和error回调。你可以使用它们。reuturn值像参数一样传递给这些函数。

您可以尝试以下方法:

           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");
                                                   }
                                                   });
                                                });
var secuencias=新字符串;
jQuery(“添加注释”)。单击(函数(){
$.ajax({
类型:“POST”,
url:“”,
数据:“{}”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
async:false,
成功:功能(msg){
secuencias=msg.d;
},
错误:函数(){
警报(“错误”);
}
});
});

如您所见,变量secuencia中存储了de function ConsultarAlertas的值,这是一个只返回字符串的PageMethods函数。

我对函数中的值不做任何处理。假设我有一个按钮,希望在回发之前进行验证。btn1.OnClientClick=“return IsDateTimeAvailable()”@SanjayGupta-结果值是在服务器端调用的函数的retunr值,您可以在linkI上检查该值。我需要在调用该方法的同一块中返回值。@SanjayGupta在这种情况下,您必须同步调用它。看看这篇文章,谢谢。上面的示例在没有web服务类的情况下是否可行。是。这只是XMLHTTPRequest的一个包装器,所以您可以在纯JS中这样做,或者使用任何其他库来调用您的webservice方法
function GetValue() 
{ 
    return PageMethods.GetValueFromServer( 
     function(result) 
       { 
          // The result that is returned from server 
          //Now do what ever you would like to do. 
       }
    ); 
}
           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");
                                                   }
                                                   });
                                                });