タブリンクのソースを表示してデータバインドするリピーターがあります。コードは次のとおりです。
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 にクリック イベントを追加する必要があります。したがって、基本的に私が混乱している2つのことがあります。
- jQueryのクリックイベントが呼び出されません:(
- jQueryから、クリックイベントでどのページを通過する必要があるかを知る必要がありますか? 私はコードビハインドから取得する必要がありますか?隠しフィールドのように、そこにタブ ページを格納し、jQuery からフェッチします。
これをどのように解決すればよいですか?助けてください!