2013-10-07 19 views
0

我想突出顯示當前選擇的頁碼。如何使用pagedatasource突出顯示中繼器內部鏈接按鈕的選定頁面的頁碼?

ASPX代碼:

<asp:Repeater ID="rptPaging" runat="server" onitemcommand="rptPaging_ItemCommand"> 
     <ItemTemplate>        
      <asp:LinkButton ID="btnPage" CommandName="Page" CommandArgument="<%# Container.DataItem %>" runat="server" ><%# Container.DataItem %> 
       </asp:LinkButton> 
     </ItemTemplate> 
    </asp:Repeater> 

後端代碼:

protected void rptPaging_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 


    if (e.CommandName == "Page") 
    {  

     int index = e.Item.ItemIndex; 

     for (int i = 0; i < rptPaging.Items.Count; i++) 
     { 
      LinkButton btnlnk = rptPaging.Items[i].FindControl("btnPage") as LinkButton; 
      if (btnlnk != null) 
      { 
       btnlnk.CssClass = index == i ? "page_enabled" : string.Empty; 
      } 
     } 

     PageNumber = Convert.ToInt32(e.CommandArgument) - 1; 
     DisplayData(); 
    } 
} 
+0

你有css與.page_enabled類的地方連接到您的網站?你可以用螢火蟲檢查這個類是否在你的元素上,以及它是否存在於你的CSS樣式中 – Robert

回答

0

添加屬性..的onclick = 「OnClickPageBtnLink(這)」 LinkBut​​ton的。使用javascript函數:

function OnClickPageBtnLink(sender) 
{ 
    sender.class = "YourHighlightClass"; 

    var pageLinks = document.getElementsByTagName("a"); 

    for (var i = 0; i < pageLinks.length; i++) 
    { 
    if (sender.id != pageLinks[i].id) 
    { 
     if (pageLinks[i].id.indexOf('rptPaging_btnPage_') != 0) 
     { 
      pageLinks[i].class = "UnHighlightClass"; 
     } 
    }   
    } 
} 

您也可以使用document.queryFor ..(我不確定語法)來獲取客戶端生成的錨點元素。這絕對不是一個標準答案,但它會起作用。

-1

將下面的代碼:

PageNumber = Convert.ToInt32(e.CommandArgument) - 1; 
DisplayData(); 

上圖:

if (e.CommandName == "Page") 

它肯定會工作。

相關問題