Handhabung das checkedchanged Ereignis des inneren repeater Checkbox-Steuerelement in asp.net verschachtelten Repeater

Habe ich verschachtelten Repeater auf meiner aspx-Seite.In der äußeren repeater bin ich mit einer Liste von Produkten, und im inneren repeater bin ich mit einer Liste von zusätzlichen Optionen, die mit jedem Produkt.Die innere repeater enthält eine checkbox,textbox,label und andere Sachen.Ich möchte finden, dass die Steuerelemente innerhalb der äußeren repeater wählt ein Benutzer eine checkbox im inneren repeater.Um damit umzugehen ich bin mit dem folgenden code.

<asp:Repeater ID="OuterRepeater" runat="server" 
        onitemdatabound="OuterRepeater_ItemDataBound" >
        <ItemTemplate>
    <asp:Label ID="CodeLabel" runat="server" Text='<%# Eval("Code") %>'></asp:Label>
     <asp:Repeater ID="InnerRepeater" runat="server" OnItemCreated="InnerRepeater_ItemCreated">
       <ItemTemplate>
    <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true"/> 
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
      ......
      .......
    </ItemTemplate>
    </asp:Repeater>
     ......
      ......
    </ItemTemplate>
    </asp:Repeater>


 protected void InnerRepeater_ItemCreated(object sender, RepeaterItemEventArgs e)
        {
            RepeaterItem ri = (RepeaterItem)e.Item;

            if (ri.ItemType == ListItemType.Item || ri.ItemType == ListItemType.AlternatingItem
            )
            {
                CheckBox cb = ri.FindControl("CheckBox1") as CheckBox;
                cb.CheckedChanged += new EventHandler(CheckBox1_CheckedChanged);
            }
        }

private void CheckBox1_CheckedChanged(object sender, EventArgs e)
        {          

            CheckBox cb = (CheckBox)sender;
            if (cb.Checked)
            {
                //do something
            }
            else
            {
              //do something
            }
        }

Aber das checkedChanged-Ereignis der checkbox wird nicht feuern, aus irgendeinem Grund.Auch ich bin nicht sicher, wie Sie auf das textbox-von der äußeren repeater in der geprüft geändert-Ereignis des innter repeater checkbox-Steuerelement.

Könnte mir bitte jemand helfen mit diesem?

Dank

InformationsquelleAutor kranthi | 2011-08-09

Schreibe einen Kommentar