如何在点击中继器上获取图像url

本文关键字:获取 图像 url 中继器 | 更新日期: 2023-09-27 18:30:14

我想在中继器中点击数据库中的图像时获得图像url我的数据库包含(id,url)

我的中继器代码是:

<asp:Repeater runat="server" ID="repeater" >
    <ItemTemplate >
    <asp:ImageButton runat="server" Width="200px" Height="200px" ImageUrl='<%#Eval("url") %>' OnCommand="Image_Click" CommandName="ImageClick" CommandArgument='<%#Eval("url") %>' />
    </ItemTemplate>
    </asp:Repeater>

我的.cs代码是

 protected void Image_Click(object sender, CommandEventArgs e)
    {
        if (e.CommandName == "ImageClick")
        {
            string a=e.CommandArgument.tostring();
            responce.write(a);
        }
    }

如何在点击中继器上获取图像url

您可以在ImageClick 中执行

((ImageButton)sender).ImageUrl 

获取点击按钮的url

将发送方转换为ImageButton并读取其ImageUrl属性。

另外,您使用命令而不是处理ImageButtons单击事件是有原因的吗?

Vladimir和Guigui的回答都是访问图像按钮URL的首选方式。

如果除了URL之外还需要ID值,可以将多个值存储到CommandArgument中,用逗号分隔。

<asp:ImageButton runat="server" 
    ImageUrl='<%#Eval("url") %>' 
    OnCommand="Image_Command" 
    CommandName="ImageClick" 
    CommandArgument='<%# Eval("Id")%> + "," + Eval("url") %>' />
protected void Image_Command(object sender, CommandEventArgs e)
{
  if (e.CommandName == "ImageClick")
  {
    string[] commandArgs = e.CommandArgument.ToString()
       .Split(',');
    string id = commandArgs[0];
    string url = commandArgs[1];
  }
}