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

简介:
问题:
<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>
 

本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2011/07/25/2115990.html,如需转载请自行联系原作者
目录
相关文章
|
存储 JavaScript 前端开发
如何获取到页面中所有的checkbox怎么做?
如何获取到页面中所有的checkbox怎么做?
78 0
[自定义服务器控件] 第三步:CheckBoxList。
前面发了文本框和下拉列表框的,这回发一个CheckBoxList。不知道中文名字该叫什么。CheckBoxList 最郁闷的地方就是:明明可以选择多个选项,但是 SelectedValue 只能得到第一个选项,其他被选中的还得另想办法。
770 0
[自定义服务器控件] 第一步:文本框。
最近在整理我写的几个服务器控件,发出来与大家共享吧。 我写的自定义服务器控件呢分为两个类, 一是“简单继承”控件,就是继承框架里的控件然后加点属性了、事件了什么的。 二是“功能”控件,简单的说那是符合控件,但是呢是以实现一种功能为目的地。
820 0
[自定义服务器控件] 第二步:下拉列表框。
前面发了一个文本框的,这回发一个下拉列表框。 一般在写自定义控件之前都要考虑一下原来的控件(系统代的)有什么优缺点,有哪些功能是我想要的,但是自带的控件没有提供,或者提供的不是太理想。 那么对于 下拉列表框 我个人感觉有几个地方用着不是太方便。
1009 0