ThinkGeo.com    |     Documentation    |     Premium Support

Passing the map with ajaxCallAction

Hi, I am having an issue getting the map to pass through to my controller using Map1.ajaxCallAction

In the view I have calls like this: 



Map1.ajaxCallAction(‘Results’, ‘GetTimedPackageData’, { Seed: seed, ScenarioID: id }, Success);



And this is where it goes on the controller:



[MapActionFilter]
public string GetTimedPackageData(Map map, GeoCollection args)
{




The problem is sometimes on the controller the map is null, but after refreshing the page, zooming in on the map, or even just waiting a minute, it suddenly starts to get the map in the controller and work like I expected. I have it set up to return if the map is null, but I would like it to pass the map every time like I think it is supposed to do. Any idea what is going wrong here, and what I could do to correct it?

Thanks!

Hello Ashley, 



Thanks for you report this issue. Actually, one of our customers met this issue before, but we didn’t recreate it no matter how. So, it would be very helpful for us to figure out what’s going on if you can provide us a simple sample which can recreate this issue? And let us know more details about the issue. 



The attached file is our test project and hope it is useful for you to recreate the issue. 

Waiting for your feedback. 

Thanks, 

Johnny

Post11521.zip (164 KB)

Hi, 
  
 The map null issue seems to be gone since I moved away from view based map control implementation…  Everything works way much better when the map control is defined and customized inside a controller. 
  
 Hope this will help. 
  
 Jm.

Last but not least. 
  
 I have on the controller side defined a single method that is used to manage all the incoming Ajax calls from the client and I do serialized this method, I mean that when an Ajax request is processed all other requests are queued.  This make the application to work way much better by making sure that not more than one request interact with the map control at anytime. 
  
 Jm

Hi JM&Ashley, 



Jm, oh, we are so great to hear you have figured it out! Thanks for your experience sharing on this issue.  



I guess it is worth to try it with the way defined the map in the controller rather than in the view. Currently, since we can’t recreate it in our end and have no idea what’s the relationships defining the map in the view and controller with the map null issue, but we are turning around and paying more attentions on it.

As for the second reply from JM, I am not sure if it is required or optional on this issue. but still worth to take into consideration. 



Ashley, would you please have a try by moving the map defined from view to controller? 



Waiting for your feedback. 

Thanks, 

Johnny