C# 如何在点击转发器上获取图像url

C# 如何在点击转发器上获取图像url,c#,asp.net,C#,Asp.net,我想在repeater中单击数据库中的图像时获取图像url 我的数据库包含(id、url) 我的中继器代码是: <asp:Repeater runat="server" ID="repeater" > <ItemTemplate > <asp:ImageButton runat="server" Width="200px" Height="200px" ImageUrl='<%#Eval("url") %>' OnCommand="Ima

我想在repeater中单击数据库中的图像时获取图像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>

您可以在ImageClick中执行此操作

((ImageButton)sender).ImageUrl 

要获取单击按钮的url,可以在ImageClick中执行

((ImageButton)sender).ImageUrl 

要获取单击按钮的url,请将发件人强制转换为ImageButton并读取其ImageUrl属性


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

将发送者强制转换为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];
  }
}

受保护的void Image_命令(对象发送器,CommandEventArgs e)
{
如果(例如,CommandName==“ImageClick”)
{
字符串[]commandArgs=e.CommandArgument.ToString()
.Split(',');
字符串id=commandArgs[0];
字符串url=commandArgs[1];
}
}

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];
  }
}

受保护的void Image_命令(对象发送器,CommandEventArgs e)
{
如果(例如,CommandName==“ImageClick”)
{
字符串[]commandArgs=e.CommandArgument.ToString()
.Split(',');
字符串id=commandArgs[0];
字符串url=commandArgs[1];
}
}

我只想在点击repeater中的图像时获得图像url,你可以告诉我你的方式,alsoAs Guigui说。。。((ImageButton)sender.ImageUrl我只想在repeater中单击图像时获取图像url,无论您如何向我展示您的方式alsoAs Guigui说。。。((ImageButton)sender)。ImageUrlAs url可以从ImageUrl属性获得,只需向CommandArgument添加Id不是更合适吗?@VladimirKocjancic我同意你的看法。我的答案只是针对一般的值,比如ID、Name等等。我的错;ID和URL的组合不是一个很好的例子。因为URL可以从ImageUrl属性获得,所以只向CommandArgument添加ID不是更合适吗?@VladimirKocjancic我同意你的看法。我的答案只是针对一般的值,比如ID、Name等等。我的错;ID和URL的组合不是一个好例子。