转发器中的复选框

时间:2009-10-20 05:34:37

标签: c# .net asp.net checkbox repeater

我在每个项目中都有一个转发器和一个未绑定的复选框。 我想为被检查的物品做点什么。 但问题出在这里! 当我点击转发器外部的按钮时,只是我的页面刷新,没有任何反应。

这些是我的代码:

<asp:Repeater ID="Repeater1" runat="server" >    
           <ItemTemplate>
               <asp:CheckBox ID="ChBox" runat="server" />
               <asp:Label ID="rptBody" runat="server" Text='<%#Eval("subject") %>
               <hr />
           </ItemTemplate>
    </asp:Repeater>
    <asp:Button ID="btnDelete" runat="server" Text="Delete" Width="90px"     onclick="btnDelete_Click" />

cs文件中的代码:

  protected void btnDelete_Click(object sender, EventArgs e)
        {
             foreach (RepeaterItem item in Repeater1.Items)
            {
                CheckBox ch = item.FindControl("ChBox") as CheckBox;
               if (ch.Checked)
                {
                   ch.Text = "IT is selected now";
                }
            }
        }

1 个答案:

答案 0 :(得分:5)

我认为你缺少的是,当你的网页没有回发时你应该绑定或设置数据源

if (!Page.IsPostBack)
    {
        rpt.DataSourceID = "";
        rpt.DataBind();
    }

我认为在你的情况下发生的事情是,在回发后你的转发器会被重新安装。