Hej! Du måste gå igenom dess items collection... Aha! Ja du måste låta repeatern återskapas i postbacken... Vilket den gör om du har ViewState enabled. Vilken Checkbox... Ja den som är i den ruta med det index som repeateritemet har... dvs komma åt kontroller i repeater på postbak
Jag har en repeater som har en asp:label och en asp:Checkbox på varje rad(i ItemTemplaten). Inget är placerat i HeaderTemplate eller FooterTemplate.
Nedanför repeatern har jag en Spara knapp.
När jag trycker på spara så blir det en postback och jag vill då i knappens metod tafram checkboxarna som repeatern har ritat ut för att spara ner värdena i databasen.
Går detta att göra? och isåfall hur?
Jag har provat this.myRepeater.FindControl("myCheckBox") utan framgång.Sv: komma åt kontroller i repeater på postbak
Typ:
<code>
foreach (RepeaterItem item in myRepeater.Items)
{
Checkbox cb = item.FindControl("myCheckBox");
}
</code>Sv:komma åt kontroller i repeater på postbak
Fick för mig att jag provade det med. Men hur är det, måste jag låta repeatern bli laddad på postbacken? Och hur vet jag vilken myCheckBox jag får tag i? De verkar ju inte ha möjlighet att lagra CommandAgrument?Sv: komma åt kontroller i repeater på postbak
om item.ItemIndex == 2 så har du checkboxen i template nummer 3... (0 baserad collection)
Om du behöver mer info kan du ju titta på andra kontroller i det itemet. Du kan lägga in hidden fält eller vad du vill för att hålla koll på vad det är i itemet... Ett alternativ är ju att sätta value på checkboxen och sedan kolla det...