Bonsoir
J'ai un repeater qui me crée un tableau à partir d'une source en xml, dont une partie du code est ci-dessous, le tout mis dans un "table" pour avoir la forme d'un tableau.
Je crée aussi, à chaque ligne, un bouton "voir" qui devra afficher le contenu de la ligne ... et le souci ben je n'arrive pas à récupérer le contenu de la ligne, même pas d'une cellule du tableau, j'obtiens une erreur de cast ... oO
Merci d'avance !Impossible d'effectuer un cast d'un objet de type 'System.Web.UI.HtmlControls.HtmlTableCell' en type 'System.Web.UI.WebControls.TableCell'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <asp:Repeater ID="Rp1" runat="server" OnItemDataBound="Repeater1_ItemDataBound" OnItemCommand="Repeater1_ItemCommand"> <HeaderTemplate> <table border="1"> .... <ItemTemplate> <tr> <td><asp:Button ID="Button1" runat="server" Text="Voir" /></td> <%--OnClick="btnInsert_Click"--%> <td runat="server" id="num"><%# DataBinder.Eval(Container.DataItem, "num")%></td> <td runat="server" id="date"> <%# DataBinder.Eval(Container.DataItem, "date")%></td> <td runat="server" id="titre"> <%# DataBinder.Eval(Container.DataItem, "titre")%></td> <td runat="server" id="desc"> <%# DataBinder.Eval(Container.DataItem, "desc")%></td> <td runat="server" id="rem"><%# DataBinder.Eval(Container.DataItem, "rem")%></td> <td><asp:Label ID="etat" runat="server" ></asp:Label></td> </tr> </ItemTemplate> <FooterTemplate></table></FooterTemplate> </asp:Repeater>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) { ListItemType rowType = (ListItemType)e.Item.ItemType; if (rowType == ListItemType.Item || rowType == ListItemType.AlternatingItem) { TableCell cell = (TableCell)e.Item.FindControl("num"); } } protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Button btnInsert = (Button)e.Item.FindControl("Button1"); if (btnInsert != null) { RepeaterItem ri = btnInsert.Parent as RepeaterItem; if (ri != null) { btnInsert.CommandArgument = ri.ItemIndex.ToString(); } } Label etat = (Label)e.Item.FindControl("etat"); if (etat != null) etat.Text = "TEST"; } }
Partager