ASP.Net/Asp Control/ImageMap

Материал из .Net Framework эксперт
Версия от 11:53, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Get asp ImageMap event argument: post back value (VB.net)

<%@ Page Language="VB" %>
<script runat="server">
    Sub mapMenu_Click(ByVal sender As Object, ByVal e As ImageMapEventArgs)
        Select Case e.PostBackValue
            Case "ToUpper"
                txtText.Text = txtText.Text.ToUpper()
            Case "ToLower"
                txtText.Text = txtText.Text.ToLower()
            Case "Erase"
                txtText.Text = String.Empty
        End Select
    End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>ImageMap PostBack</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    <asp:ImageMap
        id="mapMenu"
        ImageUrl="http://www.nfex.ru/style/logo.png"
        HotSpotMode="PostBack"
        Runat="server" OnClick="mapMenu_Click">
        <asp:RectangleHotSpot
            PostBackValue="ToUpper"
            Left="0"
            Top="0"
            Right="100"
            Bottom="30"
            AlternateText="To Uppercase" />
        <asp:RectangleHotSpot
            PostBackValue="ToLower"
            Left="100"
            Top="0"
            Right="200"
            Bottom="30"
            AlternateText="To Uppercase" />
        <asp:RectangleHotSpot
            PostBackValue="Erase"
            Left="200"
            Top="0"
            Right="300"
            Bottom="30"
            AlternateText="To Uppercase" />
    </asp:ImageMap>
    
    <br />
    
    <asp:TextBox
        id="txtText"
        TextMode="MultiLine"
        Columns="40"
        Rows="5"
        Runat="server" />
    
    </div>
    </form>
</body>
</html>



ImageMap HotSpots Alternate Text

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Default_aspx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ImageMap ID="ImageMap1" 
                      runat="server" 
                      ImageUrl="yourImage.jpg" 
                      HotSpotMode="PostBack">
        <asp:CircleHotSpot
            HotSpotMode="PostBack" 
            X="103" 
            Y="26" 
            PostBackValue="PowerSwitch" 
            Radius="5" 
            AlternateText="Power Switch" />
            <asp:RectangleHotSpot 
                 Top="48" 
                 Bottom="242" 
                 Left="30" 
                 NavigateUrl="http://www.nfex.ru"
                 Right="177" 
                 HotSpotMode="Navigate" />
            <asp:PolygonHotSpot 
                 Coordinates="2,73,12,73,23,87,12,30,92,30,83,87" 
                 PostBackValue="Navigation"
                 HotSpotMode="PostBack" />
        </asp:ImageMap>&nbsp;</div>
    </form>
</body>
</html>
File: Default.aspx.vb

Partial Class Default_aspx
    Inherits System.Web.UI.Page
    Protected Sub ImageMap1_Click(ByVal sender As Object, _
                  ByVal e As System.Web.UI.WebControls.ImageMapEventArgs) _
                  Handles ImageMap1.Click
        Dim str As String = "You have clicked " & e.PostBackValue
        Response.Write(str)
    End Sub
    Protected Sub Page_Load(ByVal sender As Object, _
                            ByVal e As System.EventArgs) _
                            Handles Me.Load
        ImageMap1.HotSpots(0).AlternateText = "A"
        ImageMap1.HotSpots(1).AlternateText = "B"
        ImageMap1.HotSpots(2).AlternateText = "C"
    End Sub
End Class



Image map post back (C#)

<%@ Page Language="C#" %>
<script runat="server">
    protected void mapMenu_Click(object sender, ImageMapEventArgs e)
    {
        switch (e.PostBackValue)
        {
            case "ToUpper":
                txtText.Text = txtText.Text.ToUpper();
                break;
            case "ToLower":
                txtText.Text = txtText.Text.ToLower();
                break;
            case "Erase":
                txtText.Text = String.Empty;
                break;                                
        }
    }
</script>
<html>
<head>
    <title>ImageMap PostBack</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    <asp:ImageMap
        id="mapMenu"
        width="300"
        height="200"
        ImageUrl="http://www.nfex.ru/style/logo.png"
        HotSpotMode="PostBack"
        Runat="server" OnClick="mapMenu_Click">
        <asp:RectangleHotSpot
            PostBackValue="ToUpper"
            Left="0"
            Top="0"
            Right="100"
            Bottom="30"
            AlternateText="To Uppercase" />
        <asp:RectangleHotSpot
            PostBackValue="ToLower"
            Left="100"
            Top="0"
            Right="200"
            Bottom="30"
            AlternateText="To Uppercase" />
        <asp:RectangleHotSpot
            PostBackValue="Erase"
            Left="200"
            Top="0"
            Right="300"
            Bottom="30"
            AlternateText="To Uppercase" />
    </asp:ImageMap>
    
    <br />
    
    <asp:TextBox
        id="txtText"
        TextMode="MultiLine"
        Columns="40"
        Rows="5"
        Runat="server" />
    
    </div>
    </form>
</body>
</html>