【问题标题】:Reset ImageButton ImageUrl to default URL将 ImageButton ImageUrl 重置为默认 URL
【发布时间】:2015-01-15 12:24:39
【问题描述】:

我有一个 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。

那么,如何重置所有 ImageUrl?

【问题讨论】:

    标签: c# repeater imagebutton imageurl


    【解决方案1】:

    在看到您的代码时,我猜您想在单击图像时更改图像,以便用户可以识别是否选择了图像。如果你想实现这一点,为什么不试试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>
    

    【讨论】:

      猜你喜欢
      • 2019-11-03
      • 1970-01-01
      • 1970-01-01
      • 2017-03-30
      • 1970-01-01
      • 2011-04-06
      • 2012-10-31
      • 2012-03-15
      • 2023-04-05
      相关资源
      最近更新 更多