Developing Web Applications with the Web ADF - Web controls  

Web Control Overview


The Web ADF includes a set of Web controls to enhance the Web developer experience and provide a rapid application development environment.  All Web ADF controls are designed to work asynchronously within a Web application by utilizing AJAX patterns included with ASP.NET.   All Web ADF controls can be considered script control because they implement the ASP.NET AJAX System.Web.UI.IScriptControl interface.   This means that you can interact with Web ADF controls via JavaScript in the client browser if they have a scriptable implementation.  The Web ADF includes a comprehensive public JavaScript Library which can be used to work with scriptable controls and enhance a Web application using client side logic.   

Web ADF controls leverage the Common Data Source API to interact with multiple sources of data as resources.  In most cases, resources are managed by a set of "resource manager" controls.  Other controls consume the managed resources  directly or via another control.  The diagram below illustrates the property relationships between Web ADF Core and Task framework controls and data sources supported out-of-the-box.  For example, the MapTips control uses the MapResourceManager to select a resource and layer on which to construct map tips and can be buddied with a Map control to display the map tips.   Likewise, the SearchAttributesTask uses the MapResourceManager to select the resources, layers, and fields in which to search.  The task can be buddied with a TaskResults control to display tabular results and the TaskResults control can be buddied with a Map control to display graphic results. 
    


The following sections provide a brief description of each Web control included with the Web ADF. 

MapResourceManager
The MapResourceManager control is often the first control added to a Web application.  The design-time interface allows you to add, remove, and set properties for any resource that provides mapped output, for example an ArcIMS Image Service or an ArcGIS Server map service.   Since the control is designed to manage multiple resources at the same time, it provides properties to define how the resources interact, such as the order of layers and transparency of map image output.   Multiple controls can use the same MapResourceManager to access the same set of resources.   As a result, changes to a resource by one control can be reflected in other controls associated with the same MapResourceManager.    

Map
The Map control is designed to display geographic data from one or more resources provided by different data source types.   It must be associated with a MapResourceManager to define the resources displayed within the map.   Multiple resources displayed in the same map are blended together and rendered as a single image.  Since each service is treated as a separate layer within the map, you can use the MapResourceManager to set transparency levels for each resource.  Advanced map tool functionality enables continuous panning and zooming capabilities without reloading the Web page that contains the map, and a full postback is not required.  In addition, game style navigation provides scroll-wheel zoom and keyboard navigation options at runtime.  A number of other Web ADF controls buddy with the map control to enhance the user experience with the map, such as the Toolbar, Navigation, MapTips, and ZoomLevel controls.   

ColorPicker
The ColorPicker control provides a runtime dialog which can be used to select a color.  It can be incorporated into a page or control (e.g. custom task) to provide an end user with the ability to select a color.   The selected color can be used to define properties for a component within the application or control.   

ContextMenu
The ContextMenu control is designed to display a dialog upon a right-click event (onContextMenu event) on an element in a browser at runtime.  The element can be a Web control such as a Map, the contents of a control such as a node in TaskResults, or any client-side element on which an event can be triggered.   A ContextMenu contains one or more items which the end user can select to initiate an action.     

DockExtender
The DockExtender control allows a developer to dock a target control within a Map control.   Target controls often include an OverviewMap, ScaleBar, ZoomLevel and\or Navigation control.  At runtime, the target control will be anchored to a Map control at a predefined location: a corner, a side or the center of the Map control.

FloatingPanel
The FloatingPanel control provides a floating window within a Web page that can contain other controls.  You can drag-and-drop, resize, and minimize the window within the browser.  Often FloatingPanels are used to enhance the usability and appearance of a Web page. When you add an OverviewMap or Toolbar to a floating panel, it can be minimized when not in use or dragged to a new location on the screen.

GeocodeResourceManager
The GeocodeResourceManager control allows a developer to add, remove, and set properties for any resource that provides geocoding services.   ArcGIS Server, ArcIMS and ArcWeb data sources can be utilized.  The FindAddressTask control is designed to use the resources provided by the GeocodeResourceManager to geocode address inputs. 

GeoprocessingResourceManager
The GeoprocessingResourceManager control allows a developer to add, remove and set properties for any resource that provides geoprocessing services.   Only ArcGIS Server geoprocessing services are supported at this time.  The GeoprocessingTask control is designed to use the resources provided by the GeoprocessingResourceManager to work with geoprocessing tasks on the server. 

HoverExpandExtender
The HoverExpandExtender control adds the ability to change the opacity or image display behavior of a control. The targeted control will alternate between opacity values and/or images when the mouse hovers over or does not hover over the control.

Magnifier
The Magnifier control extends the FloatingPanel control to provide a floating window which contains a map of a resource in the buddied Map control.  The map in the Magnifier control zooms in on the underlying Map control to show more detail without changing the extent of the map in the Map control.   A crosshair in the center of the Magnifier control enables the user to position the control over the Map to select an area to view.  A scale factor drop down list (from 2x to 10x the current Map extent) enables the user to select how much they want to zoom in on the Map.   

MapCopyrightText
Displays interactive copyright text when associated with a Map control. 

MapTips
The MapTips control provides the ability, at runtime, to hover the mouse over a point feature in a map and instantly display attribute information about the specific feature.   The control uses client-side logic in the browser to display features on top of the map control.   The MapTips control uses attribute information in a point feature layer, accessed via a resource in a MapResourceManager.  MapTips can retrieve information from a resource in one MapResourceManager and display it in another unrelated Map control.

Navigation
The Navigation control is associated with a single map control.  It provides common map navigation functions (pan and zoom) in a single control.  The control can also be moved dynamically on the Web page at runtime, thus an application user can choose the location of the control. 

OverviewMap
The OverviewMap control is similar to the Map control in that it displays geographic data.  However, the purpose of an overview map is to provide a point of reference for the area displayed on its associated Map control.  The OverviewMap control always displays greater extent than its associated map control.  An area of interest box on the overview map represents the currently displayed area on its associated Map control.   Note that the OverviewMap and Map control can use two different MapResourceManagers, thus different sources of data. 

PageLayout
The PageLayout control displays the layout of a map and is analogous to layout view in ArcMap.  It displays all of the map elements, including data frames and any map surrounds, such as north arrows and scale bars.  The PageLayout control is only supported for use with ArcGIS Server Local data sources. 

ScaleBar
The ScaleBar control provides a simple scalebar for the map.  It uses ArcGIS Server or ArcIMS resources in a Map control to calculate relative scale and construct the control.  

Toc
The table of contents, or Toc control, lists the layers on the map and shows what the features represent.  A toc is buddied with a map control.  As a result, checking a layer in the toc control will draw it in the map control.  Each resource associated with a map control may contain one or more layers, thus the toc control represents each resource as a grouplayer; essentially a layer that contains layers.    

Toolbar
The Toolbar control can be associated with one or more map controls.  Toolbars contain functions for working with a map, such as common navigation tools like pan and zoom.  Custom tools can be added to the toolbar to enhance the capabilities of a Web application.  

TreeViewPlus
The TreeViewPlus control is container designed to present information at runtime in a nested structure of nodes (tree).  Two Web ADF controls build on its framework: TaskResults and Toc.   In gene 
 
ZoomLevel
The ZoomLevel control provides a set of levels, or map scales, representing different static extents the map control can zoom to.  The map control must reference a resource that contains at least one static layer, for example, an ArcGIS Server MapServer with a cached data layer.  When created, the cached data layer defines a set of levels, or scales, at which cached data was generated.  The ZoomLevel control uses these levels to define the number of segments displayed by the control.     

TaskManager
The TaskManager control is designed to organize tasks in a Web application.   The TaskManager control generates hierarchical XML data that can be used by an ASP.NET navigation control such as a Menu or TreeView.  At runtime, nodes in the ASP.NET Menu or TreeView can be used to display the floating panel for a task.  It is only visible at design-time. 

TaskResults
The TaskResults control is designed to store the results of tasks that produce ADO.NET DataSet output.  The results are presented as nodes in a TreeView.  The TaskResults control also enables the ability to zoom or pan to a feature, highlight a feature in a result set, re-run a task, or remove task results.  

EditorTask
The EditorTask control provides a suite of tools for Web-based editing of features in both versioned and non-versioned enterprise geodatabases.   If configured, specific versions can be selected for editing.  The runtime dialog provides tool to modify, add, and remove feature geometry and attributes.   

FindPlaceTask
The FindPlaceTask control is designed to use ArcWeb services that provide searchable place name layers.  The control interface includes a simple textbox to enter a place name.  The results are provided as an ADO.NET DataSet to be displayed in a TaskResults control.  

FindAddressTask
The FindAddressTask control utilizes resources in the GeocodeResourceManager to perform geocode operations.  The control interface is created dynamically at runtime based on the inputs required by the geocode resource it will use.  The results are provided as an ADO.NET DataSet to be displayed in a TaskResults control. 
GeoprocessingTask
The GeoprocessingTask control utilizes resources in the GeoprocessingResourceManager to execute geoprocessing tasks.   The control interface is created dynamically at runtime based on the inputs required by the geoprocessing resource and task it will use.  The results, which include input and output parameters as well as progress messages, are provided as an ADO.NET DataSet to be displayed in a TaskResults control. 

PrintTask
The PrintTask control provides runtime print capabilities to a Web ADF application.  It enables users to print a map and task results, along with a legend, scalebar, copyright and north arrow. 

QueryAttributesTask
The QueryAttributesTask control enables a developer to explicitly define the parameters used to query values in a field.  This control enhances the basic query capability of the SearchAttributesTask.  At runtime, the a QueryAttributesTask query can provide a drop down list of preset choices or a textbox for general text entry.  Each query can also utilize a validator to restrict the values entered.  In addition, multiple queries can be grouped together to produce a single result.  Only feature layers in resources provided by a MapResourceManager can be used.  The results are provided as an ADO.NET DataSet to be displayed in a TaskResults control.  

SearchAttributesTask
The SearchAttributesTask control enables a developer to select a set of fields, provided by resources, in which to search for the occurrence of a user provided value.  At runtime, each field is queried for the occurrence of a value provided by the user.  Partial values are permitted.  Only feature layers in resources provided by a MapResourceManager can be used.  The results are provided as an ADO.NET DataSet to be displayed in a TaskResults control.