将图像按钮图像网址重置为默认网址
本文关键字:图像 默认 按钮 | 更新日期: 2023-09-27 18:30:41
我有一个ImageButton进入中继器。
我的 ASP.NET 代码是:
<asp:Repeater ID="rpt" runat="server">
<ItemTemplate>
<asp:ImageButton ID="img_sport" runat="server" CommandName='<%# Eval("IDSport") %>' CommandArgument='<%# Eval("SportName") %>' ImageUrl='<%# Eval("SportName","~/Images/{0}-trp.png") %>' OnCommand="img_sport_Click" />
</ItemTemplate>
</asp:Repeater>
从代码隐藏中,我以这种方式更改所选/单击图像的 ImageUrl:
[...]
ImageButton btn = (ImageButton)sender;
btn.ImageUrl = "/Images/" + sportName + "-trp-selected.png";
[...]
但是,如果我单击其他图像,我将有两个/三个/四个图像显示为选中,所以首先,在我的代码隐藏中,我想将 ImageUrl 重置为默认值,然后我将新的 ImageUrl 仅应用于所选/单击的 ImageButton。
那么,如何重置所有图像网址?
在看到您的代码时,我猜您想在单击图像时更改图像,以便用户可以识别是否选择了图像。如果你想实现这一点,为什么不尝试JavaScript
它可以在不回发的情况下处理同样的事情。
请参阅下面的代码示例,其中包含相同的JavaScript函数:
<asp:Repeater ID="rpt" runat="server">
<ItemTemplate>
<asp:ImageButton ID="img_sport" runat="server" ImageUrl='<%# Eval("SportName","~/Images/{0}-trp.png") %>' OnClientClick='<%# "return ManageSelection(this,'"" + Eval("SportName").ToString() + "'");"%>' />
</ItemTemplate>
</asp:Repeater>
<script type="text/javascript">
function ManageSelection(control, sportName) {
var selectedImage = '/Images/' + sportName + "-trp-selected.png";
$(control).attr('src', selectedImage);
return false;
}
</script>