Depuis le temps que tu poses la question je t'ai fait un truc qui ressemble à ce que tu veux, j'ai tout fait par le code donc il n'y a rien dans la partie html, il y a deux pages, la premiere ou tu selectionnes ce que tu veux, et la deuxieme qui s'appelle RecupCheckbox.aspx permet de voir ce que tu as selectionner
j'ai pas fait l'exemple à partir des images mais des noms de fichiers contenant un repertoire ... la transposition ne sera donc pas tres dur

donc voici le code, mais je le repete c'est pas du beau code, j'ai fait ca tres rapidement pour te depanner (- de 10min) donc j'ai pas cherché à faire de l'optimiser et à regarder la securité les bugs etc ... mais ca marche
Page.aspx
imports system.io
. . .
Protected WithEvents Table1 As System.Web.UI.WebControls.Table
. . .
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Placez ici le code utilisateur pour initialiser la page
Dim Row As New TableRow Dim i As Integer = 0
Dim Cell As New TableCell
For Each File As String In System.IO.Directory.GetFiles(Server.MapPath(""))
Dim FI As New FileInfo(File)
Cell = New TableCell
Dim Check As New CheckBox Check.ID = "check" & FI.Name
Cell.Controls.Add(Check)
Dim Literal As New Literal Literal.Text = FI.Name
Cell.Controls.Add(Literal)
Row.Cells.Add(Cell)
i += 1 If i = 3 Then i = 0 Table1.Rows.Add(Row) Row = New TableRow End If
Next
Row = New TableRow
Dim LeBouton As New Button LeBouton.Text = "valider"
'On lie le click du bouton à l'evenement on l'ajoute au placeholder AddHandler LeBouton.Click, AddressOf LeBouton_Click
Cell = New TableCell
cell.Controls.Add(LeBouton) Row.Cells.Add(cell) Table1.Rows.Add(Row)
Table1.DataBind() Table1.Dispose()
End Sub
Private Sub LeBouton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim Coll As Collections.Specialized.NameValueCollection = Request.Form
Dim Al As New ArrayList
For Each c As String In Coll If Left(c, 5) = "check" Then Response.Write(c & "<br>") Al.Add(c) End If Next
Session("CheckBox") = Al Response.Redirect("RecupCheckbox.aspx")
End Sub
|
RecupCheckbox.aspx
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Placez ici le code utilisateur pour initialiser la page Dim Al As ArrayList = Session("CheckBox") Response.Write("Vous avez cocher : <br/><ul>")
For Each s As String In Al Response.Write("<li>" & s & " </li>") Next
Response.Write("</ul>")
End Sub
|
Dans page.aspx tu dois avoir
<asp:Table id="Table1" runat="server"/>
c'est tout
le code n'est pas commenté, mais c'est en fait une synthese de tout ce que j'ai essayé de t'expliquer jusqu'a present ...
J'ai pas trop le temps cette semaine (concours d'ecole d'ingé samedi) donc je pourrais pas repondre aux questions mais des que j'ai le temps (samedi soir ?

) j'essaierais de faire qqchose d'un peu plus complet et d'un peu plus securisé etc... mais seulement si tu n'arrives pas à comprendre, et bien sur seulement si tu as essayé de comprendre

@+
Cyril