我希望在转发器中单击数据库中的图像时获取图像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);
}
}
答案 0 :(得分:2)
你可以在ImageClick中做到
((ImageButton)sender).ImageUrl
获取点击按钮的网址
答案 1 :(得分:1)
将发件人转换为ImageButton并读取其ImageUrl属性。
另外,您是否有理由使用命令而不是处理ImageButtons点击事件?
答案 2 :(得分: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];
}
}