ASP.NET在没有回发或更新面板的情况下单击时更改链接按钮颜色

时间:2011-11-25 17:56:58

标签: javascript asp.net linkbutton

在asp.net页面中我有一个链接按钮列表:

<asp:LinkButton ID="LinkButton1" runat="server" OnClick="Link_Click">Link 1</asp:LinkButton>
<asp:LinkButton ID="LinkButton3" runat="server" OnClick="Link_Click">Link 2</asp:LinkButton>
<asp:LinkButton ID="LinkButton5" runat="server" OnClick="Link_Click">Link 3</asp:LinkButton>

我将它们用作网站上更新面板的触发器。 当用户点击链接时,控件会在页面上加载。

我想要的是:

当用户点击链接时,该链接的颜色会发生变化,以便我们知道最后按下了哪个链接。

我想在没有回发或更新面板的情况下这样做。那么有没有办法通过JavaScript进行此操作?或其他解决方案?

感谢您的帮助

2 个答案:

答案 0 :(得分:4)

JAVASCRIPT:

<script>
    function changeColor(e) {
        e.style.color = "red";
        return false;
    }
</script>

HTML:

<asp:LinkButton ID="LinkButton1" OnClientClick="return changeColor(this);" runat="server">LinkButton</asp:LinkButton>
祝你好运!

答案 1 :(得分:1)

当然,有一种使用JavaScript的方法。您可以将事件连接到OnClientClick的{​​{1}}属性并运行一些客户端代码。

您可能想为该按钮的两种状态创建一些CSS。将新类分配给按钮比使用JavaScript更改所有样式更容易。

如果您愿意使用像jQuery这样的库,那将非常简单:

  1. 为每个按钮分配一个匹配的CSS类“A”。

    LinkButton
  2. 创建一个“关闭”状态的“B”CSS类和“开启”状态的“C”类。

  3. 为每个具有“A”类的按钮分配一个点击处理程序。像这样(未经测试):

    <asp:LinkButton ID="Button1" CssClass="button button-off" runat="server" />
    <asp:LinkButton ID="Button2" CssClass="button button-off" runat="server" />
    
  4. 上面的点击处理程序应该能够清除所有带有“A”类的按钮的“B”类,并将“C”类分配给单击的按钮。