Hi All,
I am writing a control where i would like to refer to a method inside my own control, see code below to make the situation clear:
var webRequest = Sys.Net.WebServiceProxy.invoke('Webservice/ImageService.asmx','Hello',false,null,this.WebserviceCallCompleted,this.WebserviceCallFailed,null, 10000);First i do a webservice call which is working great! As you can see when the call succeeds the function WebserviceCallCompleted is invoked. In this method i would like to set a variable and start the rendering proces again. I do this with:this.Render;
WebserviceCallCompleted:function(result){
this._buttonText = result;
this.Render;}
When i run this code the Render method isn't invoked. any ideas? should i use delegates?
Thanks in advance!
Regards,
To Resolve the this keyword use Function.createDelegate. Like:
var successHandler = Function.createDelegate(this, this.WebserviceCallCompleted);
var webRequest = Sys.Net.WebServiceProxy.invoke('Webservice/ImageService.asmx','Hello',false,null,successHandler,this.WebserviceCallFailed,null, 10000);
Hi KaziManzurRashid,
Thanks for your reply. I implemented your solution but it isn't working (yet) below you see what i have done:
InvokeWebservice:function(){
var _completeHandler = Function.createDelegate(this,this.WebserviceCallCompleted);var webRequest = Sys.Net.WebServiceProxy.invoke('Webservice/ImageService.asmx','Hello',false, {"test":$get('txtfld1').value}, _completeHandler,this.WebserviceCallFailed,null, 10000);}
,
WebserviceCallCompleted:function(result){
this.Render;}
The WebserviceCallCompleted method is invoked so the delegate is implemented right. When i take a closer look at the this instance is see that 'this' is representing the right control and it contains a Render method but it still isn't invoked. Any idea?
Regards,
I could not find any reason the Render is not get executed, may be you should put this.Render() instead of this.Render.
hi KaziManzurRashid,
Very stupid but thats the trick i changed this.Render in this.Render() and it works. Probably there is a difference when you refer to a method when creating a delegate and when refering directly to it. I feel a little stupid! Thanks for your time and solution
Regards,
No comments:
Post a Comment