Jump to content

Probleme de <select> <option> en HTML


Recommended Posts

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

Link to comment
Share on other sites

 

<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>

Link to comment
Share on other sites

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 :transpi:

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>...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...