Garder contrôles créés dynamiquement
Bonjour,
Le titre n'est pas très clair alors je vais expliqué mon problème ^_^
Voilà, je voudrais créé une page où une personne peut uploader une photo et indiqué qui se trouve dessus. Pour dire qui est sur la photo, on n'a qu'à rentre son nom dans un textbox. Mais voilà, s,il y a plus d'une personne, je veux pouvoir ajouter des textbox sur la form par un bouton.
Présentement, je ne peux qu'en ajouter un et si j'écrit du texte dedans, lorsque je reclique sur le bouton, je perds le texte.
En fait, je me suis rendu compte que, même dans un UpdatePanel, les contrôles créés par le bouton ne sont pas gardés. Donc le premier clique créé le textbox. Lors du deuxième clique, le textbox disparait et est rwemplacé par un autre.
Comment puis-je faire pour garder les textbox créé dynamiquement par mon bouton?
Voici mon code pour la page :
Code:
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
| <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="uploadpics.aspx.vb" Inherits="Agence.uploadpics" %>
<!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>Upload Pics</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<asp:Button ID="btnUpload" runat="server" Text="Button" />
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Panel ID="Panel1" runat="server">
asp:Button ID="btnAdd"
runat="server" Text="Add Textbox" />
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html> |
Et mon code-behind :
Code:
1 2 3 4 5 6
|
Private Sub btnAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAdd.Click
Dim txt As New TextBox
Panel1.Controls.Add(txt)
End Sub |
Merci de votre temps ^_^