您的位置:首页 > 其它

再Repeater模板中,如何获取里面的控件 客户端ID ??

2011-07-25 11:27 573 查看
问题:
<asp:Repeater ID="rptList" runat="server">
<ItemTemplate>
<span onclick="alert('<%=txtName.ClientID%>');">Click Me !!!</span>
<input id="txtName" type="text" runat="server" />
</ItemTemplate>
</asp:Repeater>

上例中 <%=txtName.ClientID%> 不正确!!

----------------------------------------------------------------------------------------------------

答案:
1:repeater空间绑定数据有两种方式
<%= %> : 可获得.cs文件中的public 字段值,相当于Response.Write() .
<%# %> :后期绑定,在指定 repeater.datasource(数据源) 属性后 ,正确语法:<%# Eval("table 中的列名") %>.
如果LZ 想让该弹窗显示迭代中每一行的 clientID 列值 应该使用第二种绑定方式.

2:<asp:Repeater ID="rptList" runat="server">
<ItemTemplate>

<span onclick="alert('<%# Container.ClientID+"_txtName" %>')">click me </span>
<input id="txtName" type="text" runat="server" />

</ItemTemplate>
</asp:Repeater>

<%# %> 这个要调用DataBind()方法
或:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>

<span onclick="alert('<%# Container.FindControl("txtName") .ClientID%>')">click me</span>
<input id="txtName" type="text" runat="server" />

</ItemTemplate>
</asp:Repeater>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: