如何将Repeater中控件的clientId传递给JavaScript函数?

时间:2014-02-06 05:17:15

标签: javascript asp.net

我有一个有两列的转发器。在第一列中,我点击了一个图像按钮,我正在调用一个javascript函数。

在第二栏中,我有一个标签。我想将此标签的客户端ID传递给单击ImageButton时调用的javascript函数。

<asp:Repeater ID="rptElements" runat="server">
<ItemTemplate>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td>
            <table>
                    <tr>
                        <td id="tdElementType" runat="server">
                           <asp:ImageButton ID="imgShow" runat="Server" Visible="false" OnClientClick="return DisplayElementDetails(this);" />
                        </td>
                        <td>
                           <asp:Label ID="lblElementDetails" Text='<%# Eval("ElementDetails")%>' runat="server" />
            </td>
                        </tr>
        </table>
    </td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>

2 个答案:

答案 0 :(得分:1)

我明白了。 我在javascript函数中添加了以下代码:

function DisplayElementDetails(obj)
            {
                var name = obj.id.substring(0,(obj.name.length)-7) + "lblElementDetails"
                var obj = document.getElementById(name);
                obj.style.display = 'none';
                return false;
            }

并设置标签控件的样式

<asp:Label ID="lblElementDetails" Text='<%# Eval("ElementDetails")%>' runat="server" style="display:block" />

现在正在工作。

答案 1 :(得分:0)

这可以由Jquery完成。将CSSclass添加到按钮和标签,以便使用CSS选择器

进行选择
<td id="tdElementType" runat="server">
   <asp:ImageButton ID="imgShow" runat="Server" Visible="false" CssClass="showButton" /></td>
<td>
   <asp:Label ID="lblElementDetails" Text='<%# Eval("ElementDetails")%>' runat="server"   CssClass="lblElement"/>
</td>

在aspx页面上引用JQuery并在图像按钮的单击事件上调用函数

<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
             $(".showButton").click(function(){

                 $(".lblElement").toggle();
             });
        });
    </script>
相关问题