Div在Repeater内

时间:2011-07-17 10:06:01

标签: jquery asp.net

我试图通过按下转发器中的按钮来从我的转发器访问div div显示:无;该按钮有一个jquery脚本,可以在OnClientClick中播放。

以下是HTML的一个示例:

<asp:Repeater runat="server" ID="rptrPics" OnItemDataBound="rptrPics_ItemDataBound" OnItemCommand="rptrPics_ItemCommand">
<ItemTemplate>
<asp:Button runat="server" ID="showDiv" OnClientClick="$('div[imageId=' + imageId + ']').slideToggle(); return false; />
<div runat="server" id="hiddenDiv" style="display: none;">
SOME CODE
</div>
</ItemTemplate>
</asp:Repeater>

现在imageId是我在repeaterBinder中设置的属性

hiddenDiv.Attributes.Add("imageId", imgData.ProductId.ToString());
 showDiv.Attributes.Add("imageId", imgData.ProductId.ToString());

似乎没什么工作需要建议。

2 个答案:

答案 0 :(得分:3)

您忘了在OnClick表达式中使用this.getAttribute(name)

OnClientClick="$('div[imageId=' + this.getAttribute(imageId) + ']').slideToggle(); return false; />

答案 1 :(得分:2)

function slideToggle(button) {
    $(button).next("div.hiddenDiv").slideToggle();
    return false;
}

<asp:Repeater runat="server" ID="rptrPics">
<ItemTemplate>
    <asp:Button runat="server" ID="showDiv" OnClientClick="return slideToggle(this);" Text="Show" />
    <div runat="server" class="hiddenDiv" style="display:none;" >
        SOME CODE
    </div>
</ItemTemplate>