自定义toolbar首先要让toolbar知道怎么处理用户的操作,用户的操作分为两个方面,一是客户端操作,一是服务端操作,这些都是在toolbar的属性中设置。在toolbar的toolbarItems属性里设置要自定义的item的属性,主要设置Client_side Action 和Server_side Action这两组属性,也就是客户端和服务端的属性。客户端属性可以控制用户的操作是点击还是拖拽等,服务端属性就是对客户的操作采取的服务端处理,服务端属性有三个:enablePostBack,是否对用户操作进行回传服务器处理;serverActionAssembly,服务端处理模块对应的程序集;serverActionClass,服务端处理模块对应的类。
我这里在App_code里定义了一个类 SelectFeature,专门用来处理自定义的toolbar的要素选择操作。
因此
ServerActionAssembly:App_Code
ServerActionClass:SelectFeature
最后将定义的这个SelectFeature类继承自IMapServerToolAction,并实现这个接口定义的唯一方法 ServerAction,对于这个自定义的Toolbar的处理过程就在这个方法里进行。
1
public void ServerAction(ESRI.ArcGIS.ADF.Web.UI.WebControls.ToolEventArgs args)
2
{
3
Map mapcontrol = (Map)args.Control;
4
![](https://www.cnblogs.com/Images/dot.gif)
.
5
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
![](https://www.cnblogs.com/Images/dot.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
这个方法只有一个参数args,这个参数的Control属性可以获得到当前操作的控件,获得这个控件之后就可以完成一些自己需要的功能了