在Repeater 中 使用 CheckBox控件 无法触发OnChange事件
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1">
<HeaderTemplate>
table cellpadding="3" cellspacing="0" style="border-color:#e0e8ef; width:600px; border-style:solid; border-width:1px;">
<tr align="center" style="height:30px; background-color:#E6E6E6;">
<td style="width:50px;" align="center">
<asp:CheckBox ID="CheckBox1" runat="server" OnCheckedChanged="CheckBox1_CheckedChanged"/>
</td>
<td style="width:165px;" align="left">登录名</td>
<td style="width:105px;" align="left">姓名</td>
<td style="width:90px;" align="left">性别</td>
<td style="width:190px;" align="left">手机号</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td style="border-top: #e0e8ef 1px solid; border-left: #e0e8ef 1px solid;" align="center"><asp:CheckBox name="z" ID="chkBK" Runat="server" /> <asp:HiddenField ID="HiddenField1" runat="server" Value=<%# Eval("UserId") %>/></td>
<td style="border-top: #e0e8ef 1px solid; border-left: #e0e8ef 1px solid;"><%# Eval("LoginName") %></td>
<td style="border-top: #e0e8ef 1px solid; border-left: #e0e8ef 1px solid;"><%# Eval("UserName") %></td>
<td style="border-top: #e0e8ef 1px solid; border-left: #e0e8ef 1px solid;"><%# Eval("Gender") %></td>
<td style="border-top: #e0e8ef 1px solid; border-left: #e0e8ef 1px solid;"><%# Eval("Mobile") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>后台 调用代码
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
//只要 CheckBox1 的选中状态变化无论是 选中与否 全选
Response.Write("<script>alert('您至少要选中一个用户添加到地址本里!');</script>"); foreach (RepeaterItem di in Repeater1.Items)
{
CheckBox cbo = (CheckBox)di.FindControl("chkBK");
cbo.Checked = true;
}
}
我点击 CheckBox1的 时候 无法触发 这个事件我在 change随便舒服一句话的时候也无法 输出 这个事怎么回事呀 谁来告诉我 谢谢了
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1">
<HeaderTemplate>
table cellpadding="3" cellspacing="0" style="border-color:#e0e8ef; width:600px; border-style:solid; border-width:1px;">
<tr align="center" style="height:30px; background-color:#E6E6E6;">
<td style="width:50px;" align="center">
<asp:CheckBox ID="CheckBox1" runat="server" OnCheckedChanged="CheckBox1_CheckedChanged"/>
</td>
<td style="width:165px;" align="left">登录名</td>
<td style="width:105px;" align="left">姓名</td>
<td style="width:90px;" align="left">性别</td>
<td style="width:190px;" align="left">手机号</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td style="border-top: #e0e8ef 1px solid; border-left: #e0e8ef 1px solid;" align="center"><asp:CheckBox name="z" ID="chkBK" Runat="server" /> <asp:HiddenField ID="HiddenField1" runat="server" Value=<%# Eval("UserId") %>/></td>
<td style="border-top: #e0e8ef 1px solid; border-left: #e0e8ef 1px solid;"><%# Eval("LoginName") %></td>
<td style="border-top: #e0e8ef 1px solid; border-left: #e0e8ef 1px solid;"><%# Eval("UserName") %></td>
<td style="border-top: #e0e8ef 1px solid; border-left: #e0e8ef 1px solid;"><%# Eval("Gender") %></td>
<td style="border-top: #e0e8ef 1px solid; border-left: #e0e8ef 1px solid;"><%# Eval("Mobile") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>后台 调用代码
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
//只要 CheckBox1 的选中状态变化无论是 选中与否 全选
Response.Write("<script>alert('您至少要选中一个用户添加到地址本里!');</script>"); foreach (RepeaterItem di in Repeater1.Items)
{
CheckBox cbo = (CheckBox)di.FindControl("chkBK");
cbo.Checked = true;
}
}
我点击 CheckBox1的 时候 无法触发 这个事件我在 change随便舒服一句话的时候也无法 输出 这个事怎么回事呀 谁来告诉我 谢谢了
这样就OK了。