2010-10-06 89 views

回答

4

不是。如果您的服务器位于美国,并且用户从中国访问您的网站,则您的C#代码将在美国执行,您的JavaScript代码将在中国稍后(大约500毫秒后)执行。当JavaScript代码开始执行时,在美国服务器上运行的C#脚本将被遗忘并终止。

您最好的选择可能是通过Ajax作为@David suggested in the other answer与您的服务器进行通信。

+0

PageMethods也在Ajax中工作,所以我希望不会有问题出现。 – kbvishnu 2010-10-12 12:05:12

2

你可以做的是触发一个AJAX调用,在服务器上执行C#方法,并将结果回传给javascript。

最好使用jQuery等javascript框架处理AJAX。

2

是的,它可以使用Javascript访问C#中的服务器端方法 对于所有你需要使用在服务器端写一个静态函数,并使用PageMethods调用它。

在客户机端

PageMethods.FunctionName(para1,pageMethodError) 
    Here the condition is to pass pagemethoderroe as a parameter to return the function fails 
     PageMethods.Get(Id, 
        function(result) { 
          $(.res).html(result); 
          } 

         } 
        } 
        , pageMethodError); 

pageMethodError=function(error){ 
    //code if failed 
//error will return error message 
} 

在服务器侧

[System.Web.Services.WebMethod] 

     public static object Get(string ID) { 
      return "hai"; 
     } 

更多生根粉用于页方法的参数 PLZ指http://aspalliance.com/1922_PageMethods_In_ASPNET_AJAX.3

这种方法也被使用Ajax和它会将您的请求发布到服务器,并且服务器以JSON [JavaScript对象表示法]的形式响应。因此,如果您的应用程序服务器位于美国并从中国访问