Hvornår kan man ændre Item i databound repeater ?
Jeg har en repeater jeg binder til en SqlDataSource. Jeg har brug for at foretage en ændring i den sidste item - og kun den (og ej helelr i footeren).Jeg kan ikke bruge ItemDataBound eventet, fordi den på det tidspunkt endnu ikke ved hvor mange items der kommer i alt (Repeater1.Items.Count vokser med 1 i hvert ItemDataBound)
Hvis jeg lægger dette i PageLoad
Repeater1.DataBind()
Dim myLiteral As Literal
myLiteral = CType(Repeater1.Items(Repeater1.Items.Count - 1).FindControl("ltrSolution"), Literal)
myLiteral.Text = "xxxxzzzz" & Repeater1.Items.Count
så kan jeg steppe igennem koden med debuggeren, og alt ser korrekt ud, men min ltrSolution forbliver uændret når den renderes. Feltet ltrSolution er ikke databundet på nogen måde, men et som jeg har tilføjet til Item Templaten i ASPX filen.
Hvis jeg lægger samme kode i PreRender(men det vil jeg ikke af forskellige årsager), så virker det : ltrSolution får den nye tekst.
Repeateren bliver ellers ikke rørt på nogen måde mellem pageload og prerender. Hvis jeg fjerner repeater1.databind fra prerender, så får jeg en fejl (fordi den simpelthen endnu ikke er databound).
Hvad pokker sker der her ? Jeg havde indtrykket af, at jeg kunne gøre hvad jeg har lyst til med en repeaters items mellem databind og render, men nu er der tilsyneladende ugler i mosen. Nogen som har en forklaring ?