情况一:<asp:repeater id="Repeater1" runat="server">
<ItemTemplate>
<tr onMouseMove="javascript:this.bgColor='#ffffff'" onMouseOut="javascript:this.bgColor='#ECF5FF';"style="CURSOR: hand" bgcolor="#ECF5FF" id='<%#"Id"+(Container.ItemIndex+1).ToString()%>'>
<td width="10%" align="center" valign="middle">
<div align="center">
        <asp:CheckBox ID="cb_Id" Runat="server"></asp:CheckBox>
<asp:Label ID="lbl_Id" Visible=False Text='<%# DataBinder.Eval(Container.DataItem,"id").ToString()%>' Runat=server/>
                                     </div>
</td>
<td width="35%" noWrap align="center" valign="middle" style="WORD-WRAP: break-word">&nbsp;
<%# DataBinder.Eval(Container.DataItem,"Name") %>
</td>
</tr>
</ItemTemplate>
</asp:repeater>情况二:<asp:repeater id="Repeater1" runat="server">
<ItemTemplate>
<tr onMouseMove="javascript:this.bgColor='#ffffff'" onMouseOut="javascript:this.bgColor='#ECF5FF';"style="CURSOR: hand" bgcolor="#ECF5FF" id='<%#"Id"+(Container.ItemIndex+1).ToString()%>'>
<td width="10%" align="center" valign="middle">
<div align="center">
        <asp:CheckBox ID="cb_Id" Runat="server"></asp:CheckBox>
<asp:Label ID="lbl_Id" Visible=False Text='<%# DataBinder.Eval(Container.DataItem,"id").ToString()%>' Runat=server/>
                                     </div>
</td>
<td width="35%" noWrap align="center" valign="middle" style="WORD-WRAP: break-word">&nbsp;
<%# DataBinder.Eval(Container.DataItem,"Name") %>
</td>
</tr>
</ItemTemplate>
         <HeaderTemplate></HeaderTemplate>
</asp:repeater>在后台.vb文件中Private Sub Repeater1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles Repeater1.ItemDataBound
        Dim cb As CheckBox = CType(e.Item.FindControl("cb_Id"), CheckBox)
        cb.Attributes.Add("onclick", "w('Id" & Repeater1.Items.Count + 1 & "',this)")
End Sub情况一与情况二不同之处只是后者比前者多了一个<HeaderTemplate></HeaderTemplate>
情况一可以正常运行 能找到checkbox 但是情况二就不能找到checkbox 大家帮帮忙 谢谢了

解决方案 »

  1.   

    试了,不存在你说的问题.
    你在ItemDataBound中找的时候,中间加句
    if tb!=null
    然后再
    Attribues.add吧.
      

  2.   

    Private Sub Repeater1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles Repeater1.ItemDataBound
            Dim cb As CheckBox = CType(e.Item.FindControl("cb_Id"), CheckBox)
            if cb != null then 
            cb.Attributes.Add("onclick", "w('Id" & Repeater1.Items.Count + 1 & "',this)")End Sub