2009-02-10 58 views
3

我很新的整個JavaScript的東西。我有一個gridview,我希望用戶能夠懸停在整個行(相信它的整個TR),並能夠點擊任何地方,那將能夠選擇該行。我需要服務器端代碼才能知道哪一行被點擊。gridview asp.net mouse over TR查找哪一行被點擊的服務器端代碼

我真的不知道從哪裏開始的這一點,並會喜歡上一些指導:

1)最好的方式來增加表明用戶懸停在某行的能力(改變背景顏色或東西)

2)如何連接點擊該行任意位置的能力並激活服務器端代碼,以確定哪一行被點擊。

讀這篇文章http://www.dotnetcurry.com/ShowArticle.aspx?ID=109關於從客戶端解僱服務器端代碼,但不知道如何找出它會來自哪一行。

謝謝

喬恩·霍金斯

回答

3

這應該做的伎倆,只是使gridview的選擇

protected void Gridview1_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      e.Row.Attributes["onmouseover"] = "this.style.background = '#CCCCCC';"; 
      e.Row.Attributes["onmouseout"] = "this.style.background = '#FFFFFF';"; 

      e.Row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink(this.Gridview1, "Select$" + e.Row.RowIndex); 
     } 
    } 

的點擊將由GridView的單擊事件被檢測到服務器端。

+0

工作過! thx – Jon 2009-02-10 09:54:26

0

我總是與中繼器控制工作,爲懸停效果上的轉發器使用jQuery

這正好與標籤之間

   $(document).ready(function() { 
        $(".tr-base").mouseover(function() { 
         $(this).toggleClass("trHover"); 
        }).mouseout(function() { 
         $(this).removeClass("trHover"); 
        }); 
       }); 

,這是CSS類。

.trHover{background-color: #D5E5ED;} 

如果你不會在服務器端做任何事情,當點擊該行時,你可以再次使用jQuery來選擇效果。