天天看點

再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">  

  <span onclick="alert('<%# Container.ClientID+"_txtName" %>')">click me </span>

  <input id="txtName" type="text" runat="server" />  

</asp:Repeater>  

<%# %> 這個要調用DataBind()方法

或:

<asp:Repeater ID="Repeater1" runat="server">

  <span onclick="alert('<%# Container.FindControl("txtName") .ClientID%>')">click me</span>

  </asp:Repeater>

本文轉自左正部落格園部落格,原文連結:http://www.cnblogs.com/soundcode/archive/2011/07/25/2115990.html,如需轉載請自行聯系原作者

繼續閱讀