none
asp.net Image 控件如何加上描述? RRS feed

  • 问题

  • <a href="ProductShow.aspx?ID=<%#Eval("ProductID") %>">
                            <asp:Image ID="Image2" runat="server"  ImageUrl='<%# Eval("SmallImages") %>' 
                                       BorderColor ="#CECECE" BorderWidth="1px"   />
                            </a>

     

    这是源码,我希望,鼠标放上去,能显示图片名称,请指教?

    2010年8月27日 3:27

答案

全部回复

  • <asp:Image ID="Image2" runat="server" ImageUrl="http://i1.social.microsoft.com/profile/u/avatar.jpg?displayname=%E8%82%96%E5%B0%8F%E5%8B%87&size=large" 
      BorderColor ="#CECECE" BorderWidth="1px"  usemap="#tooltip" /> 
    <map name="tooltip"> 
      <area href="a.html" title="图片名称" shape="poly" coords="10,20,100,20,120,100,5,110"> 
    </map> 


    知识改变命运,奋斗成就人生!
    2010年8月27日 3:46
    版主
  • 我试过了,可以显示“图片名称",现在问题是:我改为title=<%#Eval("ProductName")%>:所有的图片只能显示相同的名称,是怎么回事呢?
    2010年8月27日 11:45
  • 你好!

    可能你的 map 都是指定的相同一个吧。看看下面的示例吧。

    <%@ Page Language="C#" AutoEventWireup="true" %>
    <%@ Import Namespace="System.Data" %>
    <script runat="server">
      protected void Page_Load(object sender, EventArgs e)
      {
        DataTable dt = new DataTable();
        dt.Columns.Add("Id", typeof(int));
        dt.Columns.Add("Name", typeof(string));
        dt.Columns.Add("url", typeof(string));
        
        dt.Rows.Add(new object[] { 1, "张三", "http://i1.social.microsoft.com/profile/u/avatar.jpg?displayname=%E8%82%96%E5%B0%8F%E5%8B%87&size=large" });
        dt.Rows.Add(new object[] { 2, "李四", "http://i1.social.microsoft.com/profile/u/avatar.jpg?displayname=%E8%82%96%E5%B0%8F%E5%8B%87&size=large" });
    
        this.GridView1.DataSource = dt;
        this.GridView1.DataBind();
      }
    
    </script>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
      <title>GridView image with tooltip</title>
    </head>
    <body>
      <form id="form1" runat="server">
      <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
        <Columns>
          <asp:BoundField DataField="Id" HeaderText="Id" />
          <asp:BoundField DataField="Name" HeaderText="Name" />
          <asp:TemplateField>
            <ItemTemplate>
              <asp:Image ID="Image1" ImageUrl='<%# Eval("url")%>' usemap='<%# String.Format("#GridView1_Map_{0}", Container.DataItemIndex) %>' runat="server" />
              <map name='<%# String.Format("GridView1_Map_{0}", Container.DataItemIndex) %>'> 
                <area title='<%# Eval("Name")%>' shape="poly" coords="10,20,100,20,120,100,5,110"> 
              </map> 
            </ItemTemplate>
          </asp:TemplateField>
        </Columns>
      </asp:GridView>
      </form>
    </body>
    </html>
    


    知识改变命运,奋斗成就人生!
    2010年8月28日 3:09
    版主
  • 是啊,这样是可以的啊 title='<%#Eval("ProductName")%>'  你把代码都放出来看看是怎么回事
    • 已标记为答案 Tuweitian 2010年8月30日 10:20
    2010年8月28日 12:22