Posté(e) le 7 février 200619 a Bonjour à tous, j'ai un petit problème avec un select ... Voici mon premier code: <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <html> <script language="VB" runat="server"> Sub Page_Load(Sender As Object, E As EventArgs) Dim DS As DataSet Dim MyConnection As SqlConnection Dim MyCommand As SqlDataAdapter MyConnection = New SqlConnection("database=***;server=***;User ID=***;pwd=***") MyCommand = New SqlDataAdapter("select id_range from range", MyConnection) DS = New DataSet() MyCommand.Fill(DS, "id_range") MyDataList.DataSource = DS.Tables("id_range").DefaultView MyDataList.DataBind() End Sub </script> <body> <ASP:DataList id="MyDataList" RepeatColumns="2" RepeatDirection="Horizontal" runat="server"> <ItemTemplate> <select> <option> <%# DataBinder.Eval(Container.DataItem, "id_range") %> </option> </select> </ItemTemplate> </ASP:DataList> </body> </html> Lorsque je mets ce code, il me crée autant de select qu il y a de réponse ... donc si j'ai 10 réponses de ma requete sql, il me crée a chaque fois un select différent avec une réponse dedans Voici mon deuxieme code: <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <html> <script language="VB" runat="server"> Sub Page_Load(Sender As Object, E As EventArgs) Dim DS As DataSet Dim MyConnection As SqlConnection Dim MyCommand As SqlDataAdapter MyConnection = New SqlConnection("database=**;server=***;User ID=***;pwd=***") MyCommand = New SqlDataAdapter("select id_range from range", MyConnection) DS = New DataSet() MyCommand.Fill(DS, "id_range") MyDataList.DataSource = DS.Tables("id_range").DefaultView MyDataList.DataBind() End Sub </script> <body> <select> <ASP:DataList id="MyDataList" RepeatColumns="2" RepeatDirection="Horizontal" runat="server"> <ItemTemplate> <option> <%# DataBinder.Eval(Container.DataItem, "id_range") %> </option> </ItemTemplate> </ASP:DataList> </select> </body> </html> Ici, on peut remarquer que j'ai changé la place du select. Lorsque je fais ca, j'ai un seul select qui se crée mais il est vide. Et les réponses de ma requete s affichent mais comme du texte, pas dans mon select .... Alors ma question est: que dois je modifier afin d avoir un seul select avec toutes les réponses de ma requete ? Je suis proche du but mais c est pas bon encore :( Merci d'avance Modifié le 7 février 200619 a par NiTrOuS
Posté(e) le 7 février 200619 a Hello, Je n'y connais rien en .net, mais le concept doit rester à peu près le même qu'en ASP ou PHP je pense. Peux-tu donner le source produit par ton code (au niveau du <select>) ?
Posté(e) le 7 février 200619 a Auteur <html> <body> <table id="MyDataList" cellspacing="0" border="0" style="border-collapse:collapse;"> <tr> <td> <select> <option> 1 </option> </select> </td><td> <select> <option> 2 </option> </select> </td> </tr><tr> <td> <select> <option> 3 </option> </select> </td><td> <select> <option> 4 </option> </select> </td> </tr><tr> <td> <select> <option> 5 </option> </select> </td><td> <select> <option> 6 </option> </select> </td> </tr><tr> <td> <select> <option> 7 </option> </select> </td><td> <select> <option> 8 </option> </select> </td> </tr><tr> <td> <select> <option> 9 </option> </select> </td><td> <select> <option> 10 </option> </select> </td> </tr><tr> <td> <select> <option> 11 </option> </select> </td><td> <select> <option> 12 </option> </select> </td> </tr><tr> <td> <select> <option> 13 </option> </select> </td><td> <select> <option> 14 </option> </select> </td> </tr><tr> <td> <select> <option> 15 </option> </select> </td><td> <select> <option> 16 </option> </select> </td> </tr><tr> <td> <select> <option> 17 </option> </select> </td><td> <select> <option> 18 </option> </select> </td> </tr><tr> <td> <select> <option> 19 </option> </select> </td><td> <select> <option> 20 </option> </select> </td> </tr><tr> <td> <select> <option> 21 </option> </select> </td><td> <select> <option> 22 </option> </select> </td> </tr><tr> <td> <select> <option> 23 </option> </select> </td><td> <select> <option> 24 </option> </select> </td> </tr><tr> <td> <select> <option> 25 </option> </select> </td><td> <select> <option> 26 </option> </select> </td> </tr><tr> <td> <select> <option> 27 </option> </select> </td><td> <select> <option> 28 </option> </select> </td> </tr><tr> <td> <select> <option> 29 </option> </select> </td><td> <select> <option> 30 </option> </select> </td> </tr><tr> <td> <select> <option> 31 </option> </select> </td><td> <select> <option> 32 </option> </select> </td> </tr><tr> <td> <select> <option> 33 </option> </select> </td><td> <select> <option> 34 </option> </select> </td> </tr><tr> <td> <select> <option> 35 </option> </select> </td><td> <select> <option> 36 </option> </select> </td> </tr><tr> <td> <select> <option> 37 </option> </select> </td><td> <select> <option> 38 </option> </select> </td> </tr><tr> <td> <select> <option> 39 </option> </select> </td> </tr> </table> </body> </html> Pour le premier <html> <body> <select> <option> <table id="MyDataList" cellspacing="0" border="0" style="border-collapse:collapse;"> <tr> <td> 1 </td><td> 2 </td> </tr><tr> <td> 3 </td><td> 4 </td> </tr><tr> <td> 5 </td><td> 6 </td> </tr><tr> <td> 7 </td><td> 8 </td> </tr><tr> <td> 9 </td><td> 10 </td> </tr><tr> <td> 11 </td><td> 12 </td> </tr><tr> <td> 13 </td><td> 14 </td> </tr><tr> <td> 15 </td><td> 16 </td> </tr><tr> <td> 17 </td><td> 18 </td> </tr><tr> <td> 19 </td><td> 20 </td> </tr><tr> <td> 21 </td><td> 22 </td> </tr><tr> <td> 23 </td><td> 24 </td> </tr><tr> <td> 25 </td><td> 26 </td> </tr><tr> <td> 27 </td><td> 28 </td> </tr><tr> <td> 29 </td><td> 30 </td> </tr><tr> <td> 31 </td><td> 32 </td> </tr><tr> <td> 33 </td><td> 34 </td> </tr><tr> <td> 35 </td><td> 36 </td> </tr><tr> <td> 37 </td><td> 38 </td> </tr><tr> <td> 39 </td> </tr> </table> </option> </select> </body> </html> Pour le second J'ai en partie résolu en faisant comme ceci: <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <title>Liste des IP</title> <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <script language="VB" runat="server"> Sub Page_Load(Sender As Object, E As EventArgs) Dim MyConnection As SqlConnection Dim command As SqlCommand Dim test As String = "coucou" Dim ip_d, ip_f, test2 As String Dim id As Integer = 0 Dim test1 As Integer HttpContext.Current.Response.Write("<div align=center>") HttpContext.Current.Response.Write("<h1>Liste des IP</h1>") HttpContext.Current.Response.Write("<a href=accueil.aspx><img src=baxter2.jpg></a>") HttpContext.Current.Response.Write("<br><br>") HttpContext.Current.Response.Write("<form method=get>") HttpContext.Current.Response.Write("<select name=mon_select onchange=Recherche()>") MyConnection = New SqlConnection("database=***;server=***;User ID=***;pwd=***") MyConnection.open() command = New SqlCommand("select id_range, ip_debut, ip_fin from range ORDER BY ip_debut", MyConnection) Dim reader As SqlDataReader = command.ExecuteReader While reader.read() id = reader(0) ip_d = reader(1) ip_f = reader(2) HttpContext.Current.Response.Write("<option VALUE= " & id & " >") HttpContext.Current.Response.Write("De " & ip_d & " à " & ip_f) HttpContext.Current.Response.Write("</option>") End While HttpContext.Current.Response.Write("</select>") HttpContext.Current.Response.Write("</form>") End Sub Public Sub Recherche(ByVal sender As Object, ByVal e As System.EventArgs) 'System.Diagnostics.Debug.Write("Coucou") End Sub </script> </HEAD> <body bgcolor="lightsteelblue" MS_POSITIONING="GridLayout"> </body> </HTML> J'ai ce que je veux mais le code généré n'est pas bon du tout (le body est a la mauvaise place) et je ne sais pas récupérer la valeur de mon select <div align=center><h1>Liste des IP</h1><a href=accueil.aspx><img src=baxter2.jpg></a><br><br><form method=get><select name=mon_select onchange=Recherche()><option VALUE= 1 >De 10.100.10.1 à 10.100.10.255 </option><option VALUE= 2 >De 10.100.15.1 à 10.100.15.255 </option><option VALUE= 3 >De 10.100.19.1 à 10.100.19.255 </option><option VALUE= 4 >De 10.101.10.1 à 10.101.10.255 </option><option VALUE= 10 >De 10.101.100.1 à 10.101.100.255 </option><option VALUE= 11 >De 10.101.108.1 à 10.101.108.255 </option><option VALUE= 12 >De 10.101.109.1 à 10.101.109.255 </option><option VALUE= 13 >De 10.101.113.1 à 10.101.113.255 </option><option VALUE= 14 >De 10.101.114.1 à 10.101.114.255 </option><option VALUE= 15 >De 10.101.115.1 à 10.101.115.255 </option><option VALUE= 16 >De 10.101.117.1 à 10.101.117.255 </option><option VALUE= 17 >De 10.101.118.1 à 10.101.118.255 </option><option VALUE= 18 >De 10.101.119.1 à 10.101.119.255 </option><option VALUE= 19 >De 10.101.120.1 à 10.101.120.255 </option><option VALUE= 20 >De 10.101.121.1 à 10.101.121.255 </option><option VALUE= 21 >De 10.101.122.1 à 10.101.122.255 </option><option VALUE= 22 >De 10.101.123.1 à 10.101.123.255 </option><option VALUE= 23 >De 10.101.124.1 à 10.101.124.255 </option><option VALUE= 24 >De 10.101.125.1 à 10.101.125.255 </option><option VALUE= 25 >De 10.101.126.1 à 10.101.126.255 </option><option VALUE= 26 >De 10.101.127.1 à 10.101.127.255 </option><option VALUE= 27 >De 10.101.128.1 à 10.101.128.255 </option><option VALUE= 28 >De 10.101.129.1 à 10.101.129.255 </option><option VALUE= 29 >De 10.101.130.1 à 10.101.130.255 </option><option VALUE= 30 >De 10.101.131.1 à 10.101.131.255 </option><option VALUE= 31 >De 10.101.134.1 à 10.101.134.255 </option><option VALUE= 32 >De 10.101.135.1 à 10.101.135.255 </option><option VALUE= 33 >De 10.101.137.1 à 10.101.137.255 </option><option VALUE= 5 >De 10.101.16.1 à 10.101.16.255 </option><option VALUE= 6 >De 10.101.18.1 à 10.101.18.255 </option><option VALUE= 34 >De 10.101.188.1 à 10.101.188.255 </option><option VALUE= 38 >De 10.101.19.1 à 10.101.19.255 </option><option VALUE= 39 >De 10.101.20.1 à 10.101.20.255 </option><option VALUE= 7 >De 10.101.24.1 à 10.101.24.255 </option><option VALUE= 8 >De 10.101.60.1 à 10.101.60.255 </option><option VALUE= 9 >De 10.101.62.1 à 10.101.62.255 </option><option VALUE= 35 >De 167.83.67.1 à 167.83.67.255 </option><option VALUE= 36 >De 167.83.68.1 à 167.83.68.255 </option><option VALUE= 37 >De 167.83.69.1 à 167.83.69.255 </option></select></form> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <title>Liste des IP</title> <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body bgcolor="lightsteelblue" MS_POSITIONING="GridLayout"> </body> </HTML>
Posté(e) le 7 février 200619 a Tu devrais mettre un ID (de la même valeur que le NAME) à ton <SELECT>. Ensuite, les valeurs (que ce soit ID, NAME ou encore VALUE) se mettre en quote Enfin, ta fonction de recherche qui doit afficher "Coucou", elle se trouve dans un bloc qui s'execute côté serveur (si j'ai bien interprété le code...vu que je connais pas trop .net). Du coup, elle ne risque pas d'être éxecutée, non ? Après, à voir avec des pros du .NET pour comprendre comment afficher ton code entre les balises <BODY>...
Posté(e) le 7 février 200619 a Auteur Je fais comment pour récupérer la valeur VALUE du SELECT sélectionné ???
Posté(e) le 7 février 200619 a Je fais comment pour récupérer la valeur VALUE du SELECT sélectionné ??? Ben, avec un request.querystring("name_du_select") (ou request.form("name_du_select") ), non ? Enfin en ASP, je fais comme ça...
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.