在项目开发时,总感觉用adf的toolbar或task功能比较麻烦,缺乏灵活性,所以懂得ArcGISServer自带的Js库对于 ArcGISServer开发有很大的益处。如创建一个task后我们可以不显示task页面,但是我们却可以“盗用”该task功能,使用 JavaScript来使用该功能。

贴代码: 

Code


    以上就是“盗用”SearchAttributesTask的功能,可是实现自己定义页面形式。“searchText”后面加上需要查询的信息的就ok,这样就实现了自定义形式查询。

    除上面形式“盗用”外,我们还可以借用Asp.Net自带的Ajax来实现无刷新操作。比如我们要实现某个地物的居中显示,我们先将地图页面实现Asp.Net 自己Ajax的ICallbackEventHandler接口,并实现接口事件中 void ICallbackEventHandler.RaiseCallbackEvent(string eventArgument),将地物居中的代码写这里面,然后返回Map1.CallbackResults.ToString()这个字符串。我们盗用的就是这个了,这个返回的是esri js库processCallbackResult自己能处理的格式字符串,解析这个字符串即可实现地图的无刷新操作(该字符串包括^^^  ::等格式含义可以参考帮助说明)。通过Asp.Net ICallbackEventHandler返回该字符串我们还不能实现刷新,需要注册对应的js调用块。

     
Code

 

    还有在页面js中调用并传入参数:

Code

  这样我们就可以灵活地实现Ajax无刷新等操作,而不老局限于FloatPanel等控件上。