首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET ListView 滑鼠懸停變色技巧(ItemDataBound 實作)

     編輯:關於ASP.NET

在 ListView 的 ItemDataBound 事件中為每行 <tr> 動態加入 onmouseover/onmouseout 屬性,實現滑鼠懸停高亮。

前端標記

<asp:ListView ID="ListView1" runat="server" OnItemDataBound="ListView1_ItemDataBound">
    <LayoutTemplate>
        <table id="Table1" runat="server" border="0">
            <tr runat="server" id="itemPlaceholder" />
        </table>
    </LayoutTemplate>
    <ItemTemplate>
        <tr runat="server" id="Tr">
            <td><%# Eval("ID") %></td>
            <td><%# Eval("name") %></td>
            <td><%# Eval("age") %></td>
        </tr>
    </ItemTemplate>
</asp:ListView>

後端代碼

protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e) {
    if (e.Item.ItemType == ListViewItemType.DataItem) {
        var row = e.Item.FindControl("Tr") as HtmlTableRow;
        row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#00A9FF'");
        row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
    }
}

關鍵點

  • runat="server" id="Tr" 使 <tr> 成為伺服器控制項,可在後端 FindControl 取得。
  • 使用 JS 變數 c 暫存原背景色,離開時還原,避免硬編碼顏色值。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved