2012-07-21 30 views
1

我有一箇中繼器,它顯示和數據綁定選項卡鏈接的源。下面是代碼:管理選項卡通過jQuery和中繼器單擊事件

protected void rptTab_ItemBound(Object sender, RepeaterItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
     Item i = e.Item.DataItem as Item; 
     Link hlTabLink = e.Item.FindControl("hlTabLink") as Link; 
     hlTabLink.Target = Sitecore.Links.LinkManager.GetItemUrl(i); 
     hlTabLink.DataSource = i.Paths.FullPath; 
     hlTabLink.Field = "Title"; 
    } 
} 

現在,這是我的標記:

<asp:Repeater ID="rptTab" runat="server" OnItemDataBound="rptTab_ItemBound"> 
      <ItemTemplate> 
       <li id= "liTabTest" runat = "server"> 
        <a> 
         <sc:Link ID = "hlTabLink" Field = "scTabLink" onclick = "TabClick()" runat ="server"></sc:Link> 
        </a> 
       </li> 
      </ItemTemplate> 
     </asp:Repeater> 

這是一個動態基於該項目被選中加入CSS類的jQuery:

$(document).ready(function() { 
    init(); 
}); 

function init() { 
    $("ul#Tab-labels li").removeClass("tab-label TabbedPanelsTabSelected"); 
    $("ul#Tab-labels li:first").addClass("tab-label TabbedPanelsTabSelected"); 
}; 

function TabClick() { 
    alert('test'); 
}; 

現在您可以看到,我正在根據選項卡的索引顯示CSS文件。我還必須在該jQuery中添加click事件。所以基本上有,我困惑了兩兩件事:

  • jQuery中我的單擊事件是沒有得到所謂:(
  • 從jQuery的我在click事件,它有 哪個頁面要經過了解?所以,我必須從代​​碼隱藏或得到什麼?像 隱藏字段,並存儲在該標籤頁,然後從 jQuery的取出來。

我應該如何解決這個問題?請幫助!

回答

1

對於sc:Link,將綁定方法更改爲onClientClickonclick = "TabClick()"OnClick用於回發服務器方法。

順便說一句,前綴是sc是什麼?是否有您要添加到頁面的用戶控件?

+0

sc代表Sitecore。謝謝! – 2012-07-24 14:08:10

+0

這項工作?如果,請標記爲答案。如果沒有,我還能怎麼幫忙? – 2012-07-24 16:23:35

+0

請參閱此鏈接:http://stackoverflow.com/questions/11632660/add-css-class-through-a-repeater – 2012-07-24 16:57:27

相關問題