ImageMap ControlO ImageMap e similar ao ImageButton, a grande diferenca e que em qualquer lugar que clicar do ImageButton ira ocasionar o PostBack, ja com o ImageMap e possivel definir regioes "hot spots" que irao ocasionar o PostBack.O ImageMap quando renderizado gera o elemento html: <img usemap="#myMap">. Assim como o ImageButton o ImageMap herda diretamente da classe Image, por isso possui as mesmas propriedades. No asp.net o ImageMap e representado pelo elemento: <asp:ImageMap> e seus elementos sao: CircleHotSpot, RectangleHotSpot, e PolygonHotSpot.Working with HotSpot ClassesO HotSpot e uma area pre-definida da imagem que quando clicada ira executar uma acao. E possivel criar varias areas dentro da mesma imagem. As classes que herdam da classe HotSpot sao CircleHotSpot, RectangleHotSpot, e PolygonHotSpot. Propriedades:AccessKey: ja explicado anteriormente em outros controles;AlternateText: ja explicado anteriormente em outros controles;HotSpotMode: Comportamento quando clicar na area (HotSpot) criada. Pode ser definido como: NotSet, Inactive, Navigate, ou PostBack;NavigateUrl: Url que ira navegar quando a area for clicada;PostBackValue: Uma string que sera passada para o lado do servidor quando a area for clicada;TabIndex: Numero indice do HotSpot;Target: A janela ou frame que sera exibido o resultado do clique da area. Understanding the HotSpotMode PropertyA propriedade HotSpotMode e usada para definir o comportamento do HotSpot quando ele for clicado. Esta propriedade pode ser definida tanto em um HotSpot como no controle ImageMap. Se voce definir o valor desta propriedade para ambos, prevalecera o valor que estiver no HotSpot e ignorara o valor atribuido ao ImageMap. Vamos aos valores permitidos desta propriedade: NoSet: E usado quando voce quer herdar o comportamento padrao definido no controle ImageMap, voce define a propriedade no ImageMap e no HotSpot deixe como NotSet;Navigate: Simples, especifique uma url que sera aberta quando clicar em seu HotSpot;PostBack: Quando o HotSpot for clicado ele ira executar um PostBack em seu formulario enviando os dados para o servidor. Basta criar o evento e informar o valor da propriedade PostBackValue que sera passada no parametro ImageMapEventArgs do seu evento.Inactive: Como o nome ja diz nao sera feito nada. Por que usar? Voce pode criar HotSpot de zonas complexas, onde voce define uma area inativa dentro de outro HotSpot ativo.O codigo abaixo demonstra como usar, teremos uma imagem que contem 3 cores e e possivel definir a regiao de cada cor:public partial class HotSpotControl : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { ImageMapStopLight.ImageUrl = "~/images/stoplight.jpg"; ImageMapStopLight.AlternateText = "Stoplight picture"; ImageMapStopLight.HotSpotMode = HotSpotMode.PostBack; RectangleHotSpot redHotSpot = new RectangleHotSpot(); redHotSpot.Top = 0; redHotSpot.Bottom = 40; redHotSpot.Left = 0; redHotSpot.Right = 40; redHotSpot.PostBackValue = "RED"; ImageMapStopLight.HotSpots.Add(redHotSpot); RectangleHotSpot yellowHotSpot = new RectangleHotSpot(); yellowHotSpot.Top = 41; yellowHotSpot.Bottom = 80; yellowHotSpot.Left = 0; yellowHotSpot.Right = 40; yellowHotSpot.PostBackValue = "YELLOW"; ImageMapStopLight.HotSpots.Add(yellowHotSpot); RectangleHotSpot greenHotSpot = new RectangleHotSpot(); greenHotSpot.Top = 81; greenHotSpot.Bottom = 120; greenHotSpot.Left = 0; greenHotSpot.Right = 40; greenHotSpot.PostBackValue = "GREEN"; ImageMapStopLight.HotSpots.Add(greenHotSpot); } protected void ImageMapStopLight_Click(object sender, ImageMapEventArgs e) { Label1.Text = string.Format("You clicked the {0} rectangle.", e.PostBackValue); }}Resultado quando se clica no retangula verde: The Calendar Control O controle Calendar ira exibir um calendario em sua pagina. Ele e usado para selecao de datas, seja um unica data ou um conjunto