args.get_error的详细解释和在asp.net ajax中调用webservice遇到的问题
2011-12-17 21:21
531 查看
最近在学asp.net ajax,看到别人写的代码中有这么几行:
Sys .WebForms .PageRequestManager.getInstance().add_endRequest(EndRequestHandler); //在回发请求完成处理后即引发
// endRequest 事件,触发EndRequestHandler函数
function EndRequestHandler(sender, args)
{
if (args.get_error() != undefined && args.get_error().httpStatusCode == '500')
{
var errorMessage = args.get_error().message
args.set_errorHandled(true);
ToggleAlertDiv('visible');
$get(messageElem).innerHTML = '"' +
errorMessage + '" ' + errorMessageAdditional;
}
}
不太明白args.get_error()是什么意思,到网上也没有查到什么详细的解释,后来仔细查看Msdn查出了详细的解释,args代表的是EndRequestEventArgs类
EndRequestEventArgs类有个名为error的属性,msdn上是这样解释的,若要获取或设置客户端 API 属性的属性值,必须调用以get_ 和
set_ 为名称前缀的属性访问器方法。例如,若要获取或设置属性cancel 的值,需要调用get_cancel
或 set_cancel 方法。 msdn上有相应的链接http://msdn.microsoft.com/zh-cn/library/bb311022.aspx
还看了如何在asp.net ajax中调用web service ,在网站项目中新建个web service 页面 命名为Service.asmx 页面代码如下:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService {
public Service () {
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
[WebMethod]
public string HelloWorld(string s)
{
return "Hello" + s;
}
}
在Default3.aspx中的客户端调用Web Service 代码如下:
<script type="text/javascript">
function OnbuttonGo_click()
{
requestSimpleService = Service.HelloWorld(document.getElementById('inputName').value ,
OnRequestComplete);
return false;
}
function OnRequestComplete(result) //指定当它从服务返回时负责处理响应的方法
{
alert(result);
}
</script>
一开始有点不明白,在Service.asmx中定义的HelloWorld方法定义中只有一个参数,怎么在Default3.aspx中调用HelloWorld方法时多了一个参数?
最后在msdn中找到了答案,对 Web 服务方法的调用是使用代理类进行的。有关成功回调函数、失败回调函数和用户上下文的信息都通过在调用中使用附加参数进行传递,
OnRequestComplete函数的作用就是在回调成功的情况下触发的,msdn上的详细解释 http://msdn.microsoft.com/zh-cn/library/bb398995.aspx
Sys .WebForms .PageRequestManager.getInstance().add_endRequest(EndRequestHandler); //在回发请求完成处理后即引发
// endRequest 事件,触发EndRequestHandler函数
function EndRequestHandler(sender, args)
{
if (args.get_error() != undefined && args.get_error().httpStatusCode == '500')
{
var errorMessage = args.get_error().message
args.set_errorHandled(true);
ToggleAlertDiv('visible');
$get(messageElem).innerHTML = '"' +
errorMessage + '" ' + errorMessageAdditional;
}
}
不太明白args.get_error()是什么意思,到网上也没有查到什么详细的解释,后来仔细查看Msdn查出了详细的解释,args代表的是EndRequestEventArgs类
EndRequestEventArgs类有个名为error的属性,msdn上是这样解释的,若要获取或设置客户端 API 属性的属性值,必须调用以get_ 和
set_ 为名称前缀的属性访问器方法。例如,若要获取或设置属性cancel 的值,需要调用get_cancel
或 set_cancel 方法。 msdn上有相应的链接http://msdn.microsoft.com/zh-cn/library/bb311022.aspx
还看了如何在asp.net ajax中调用web service ,在网站项目中新建个web service 页面 命名为Service.asmx 页面代码如下:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService {
public Service () {
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
[WebMethod]
public string HelloWorld(string s)
{
return "Hello" + s;
}
}
在Default3.aspx中的客户端调用Web Service 代码如下:
<script type="text/javascript">
function OnbuttonGo_click()
{
requestSimpleService = Service.HelloWorld(document.getElementById('inputName').value ,
OnRequestComplete);
return false;
}
function OnRequestComplete(result) //指定当它从服务返回时负责处理响应的方法
{
alert(result);
}
</script>
一开始有点不明白,在Service.asmx中定义的HelloWorld方法定义中只有一个参数,怎么在Default3.aspx中调用HelloWorld方法时多了一个参数?
最后在msdn中找到了答案,对 Web 服务方法的调用是使用代理类进行的。有关成功回调函数、失败回调函数和用户上下文的信息都通过在调用中使用附加参数进行传递,
OnRequestComplete函数的作用就是在回调成功的情况下触发的,msdn上的详细解释 http://msdn.microsoft.com/zh-cn/library/bb398995.aspx
相关文章推荐
- 关于ASP.NET AJAX调用WEBSERVICE的问题
- 系统地学习ASP.NET AJAX(9) - 客户端脚本编程(Sys.Net命名空间下的WebServiceProxy、WebServiceError、Generated Proxy Classes以及调用WebService、PageMethod)
- 新瓶旧酒ASP.NET AJAX(9) - 客户端脚本编程(Sys.Net命名空间下的WebServiceProxy、WebServiceError、Generated Proxy Classes以及调用WebService、PageMethod)
- jquery-ajax之1:调用 Asp.Net WebService 的详细例子
- 新瓶旧酒ASP.NET AJAX(9) - 客户端脚本编程(Sys.Net命名空间下的WebServiceProxy、WebServiceError、Generated Proxy Classes以及调用WebService、PageMethod)
- 关于ASP.NET AJAX调用WEBSERVICE的问题
- 关于ASP.NET 中使用Ajax进行异步调用问题,前台参数无法跳转到后台,提示500 internal server error
- 我发现ASP.NET AJAX在客户端调用 WebService时的一个奇怪的问题!问题更奇怪了!!
- ASP.NET 2.0 AJAX中Webservice调用方法
- ASP.NET AJAX中Webservice调用方法示例
- Jquery + Ajax调用webService实例代码(asp.net)
- asp.net 下ajax 调用webservice
- 解决aps.net 2.0中ajax调用webservice的问题
- Asp.Net Ajax 如何调用WebService
- Jquery利用ajax调用asp.net webservice的各种数据类型(总结篇)
- [导入]ASP.NET 2.0 AJAX中Webservice调用方法示例
- jQuery Ajax 方法调用 Asp.Net WebService 的详细例子(转载)
- AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
- ASP.NET 2.0 AJAX中Webservice调用方法
- Asp.Net Ajax 2.0 调用WebService 中的方法