首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

ASP.NET LinkButton 點擊變紅、其餘保持原樣?用 OnClientClick 純前端搞定

     編輯:程式設計綜合問答

asp:DataList 渲染出多個 LinkButton,需求:點擊某個按鈕背景變紅,其他按鈕不變。無需 PostBack,純前端一行屬性即可實現。

核心代碼

<asp:LinkButton ID="lbtTypeName" runat="server"
    Text='<%#Eval("typename") %>'
    CommandName="brandName"
    CommandArgument='<%#Eval("id") %>'
    OnClientClick="this.style.background='#f00';return false">
</asp:LinkButton>

關鍵點解析

  • OnClientClick:在客戶端觸發,this 指向當前被點擊的 LinkButton DOM 元素。
  • this.style.background='#f00':直接修改行內樣式,優先級最高,即時生效。
  • return false:取消預設的 PostBack 行為,避免頁面重新整理導致樣式丟失。

進階:單選互斥效果(點一個紅,其它恢復)

OnClientClick="document.querySelectorAll('.filter_list a').forEach(b=>b.style.background='');this.style.background='#f00';return false"

加上統一 class 名稱(如 CssClass="filter-btn"),即可用 querySelectorAll 批量重置,實現單選高亮。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved