Jeg mindes at have loebet ind i samme problem, og det haenger sammen med at hvis du tjekker den html-kode som genereres, saa har den ikke noedvendigvis samme id, som du bruger server-side. Kan det passe? Men jeg kan ikke huske hvordan jeg loeste det. Jeg tjekker lige om jeg kan finde det og vender tilbage...
problemet ligger i, at td_topmenu ikke er en del af din repeaters control-collection, men i din ItemTemplate. Du skal derfor have fat i en reference til din itemtemplate og udføre FindControl-metoden på den.
det nemmeste måde at gøre det på er din repeaters ItemDataBound-event som bliver trigger't hver gang en ItemTemplate bliver oprettet.
Eksempel:
private void rptProducts_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { int productId = int.Parse(((HtmlInputHidden)e.Item.FindControl("productId")).Value); DropDownList ddlColors = (DropDownList)e.Item.FindControl("ddlColors"); Product p = new Product(productId);
så, en anden måde du kan gøre det på er også at tage din repater, hvis det er noget du vil gøre efter den er blevet renderet, løbe igennem alle dens items og udføre en FindControl på hvert af dem... hvis det fordi du vil manipulere med selve renderingen, så skal du bruge mit ovenstående eksempel
:) jo, så skal du bare sørge for at caste til HtmlTableCell istedet for TableCell... og hvis du vil vide hvorfor, så kommer forklaringen her:
TableCell er en webcontrol, og bruges på aspx-siden sådan her: <asp:TableCell> HtmlTableCell er en almindelige html-control og benyttes til at indkapsle en normal <td>'er som har fået sat runat="server" på sig
vil du ikke gerne være flink og rent faktisk vise noget af dit uforståelige HTML istedet for bare at brokke dig ;)... kunne jo være at det rent faktisk ikke er så uforståeligt trods alt.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.