Salut

Je suis en train d'essayer de construire un tableau avec ASP.Net 2.0 et l'élément DataList. Je me suis fortement inspiré de cette page pour cela

J'ai donc créé une page ASPX avec le code suivant
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
30
31
32
33
34
35
36
37
38
39
40
 
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Stats.aspx.cs" Inherits="Stats_ASPX_Stats" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Page sans titre</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DataList ID="tbl_test" runat="server" ShowFooter="true" ShowHeader="true">
        <HeaderTemplate>
            <table>
                <thead>
                    <tr>
                        <th>Titre 1</th>
                        <th>Titre 2</th>
                    </tr>
                </thead>
                <tbody>
        </HeaderTemplate>
        <ItemTemplate>
                <tr>
                    <td><%# DataBinder.Eval(Container.DataItem, "COLONE1") %></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "COLONE2") %></td>
                </tr>
        </ItemTemplate>
 
        <FooterTemplate>
                </tbody>
            </table>
        </FooterTemplate>
 
        </asp:DataList>
    </div>
    </form>
</body>
</html>
et voici ma feuille de code

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
 
private SqlCommand SQL_Commande = new SqlCommand();
private SqlDataAdapter SQL_Resultat = new SqlDataAdapter();
private DataSet SQL_Rapatrie = new DataSet();
 
private void executeSQLTable(string SQL)
{
    SQL_Commande.CommandText = SQL;
    SQL_Resultat = new SqlDataAdapter(SQL_Commande);
 
    SQL_Resultat.Fill(SQL_Rapatrie, "TBL_SESSION");
 
    tbl_test.DataSource = SQL_Rapatrie.Tables["TBL_SESSION"].DefaultView;
        tbl_test.DataBind();
}
 
private void load()
{
    string SQL = "SELECT *\n" +
                 "FROM " + con.PMBase + ".dbo.TBL_SESSION";
 
    executeSQLTable(SQL);
}
Seulement j'obtient un code HTML qui est certes affiché comme je veux, mais le code généré n'est pas beau du tout.

Voilà le code généré (juste la partie concernant le DataList)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
table id="tbl_test" cellspacing="0" border="0" style="border-collapse:collapse;">
	<tr>
		<td>
            <!-- Mon header -->
            <table>
                <thead>
                    <tr>
                        <th>IPN</th>
 
                        <th>Pages consult&eacute;es</th>
                    </tr>
                </thead>
                <tbody>
            <!-- Fin de mon header -->
        </td>
	</tr><tr>
		<td>
 
            <!-- Une ligne -->
                <tr>
                    <td>jdayot</td>
                    <td>001000000000010     </td>
                </tr>
            <!-- Fin de la ligne -->
        </td>
	</tr><tr>
 
		<td>
            <!-- Une ligne -->
                <tr>
                    <td>jdayot</td>
                    <td>000000000000000     </td>
                </tr>
            <!-- Fin de la ligne -->
        </td>
 
	</tr><tr>
		<td>
            <!-- Mon footer -->
 
                </tbody>
            </table>
            <!-- Fin de mon footer -->
        </td>
	</tr>
</table>
En gros, je cherche, soit l'objet qu'il faut utiliser à la place de DataList et qui ne génère pas les balises "<table> <tr> <td> <!-- ce que j'ai mis dans mon template -->...", soit le moyen de faire en sorte que le DataList ne me génère pas le code suscité

Merci d'avance (je me demande si mon explication est compréhensible)

PS : Oui je "débute" en C# (je n'ai aucune formation, et je travaille trop comme je faisait en ASP pas .Net où je génère des grosses lignes de code HTML brut sans utiliser de composants ASP.Net et puis tout d'un coup je me rends compte qu'un controle ASP.Net fait exactement ce que je voulais :S) même si ca fait 3 mois que je pratique