|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
GENERER DES CONTROLES DYNAMIQUEMENT ET RECUPERER LEURS EVENEMENT ET LEURS VALEURS
Information sur la source
Description
Ce bout de code nous montre comment créer et gerer dynamiquement des controles Plusieurs cas sont etudiés: - Comment fait on pour gerer les evenements - Comment fait on pour avoir accés au propriétés des controles dynamique J'ai placé les controles dans un placeholder ce qui epure tres netemment le coté aspx
Source
- ********Recuperer Valeur Textbox Dynamique.aspx**********
-
- <%@ Page Language="vb" AutoEventWireup="false" Codebehind="Recuperer Valeur Textbox Dynamique.aspx.vb" Inherits="TestExemple.MaPage"%>
- <html>
- <head>
- <title>Generer des controles dynamiquement et recuperer leurs evenement et leurs
- valeurs </title>
- </head>
- <body>
- <form id="Form1" method="post" runat="server">
- <asp:placeholder id="PlaceHolder1" runat="server" />
- </form>
- </body>
- </html>
-
-
-
- ********Recuperer Valeur Textbox Dynamique.aspx.vb**********
- Public Class MaPage
- Inherits System.Web.UI.Page
-
- Protected WithEvents PlaceHolder1 As System.Web.UI.WebControls.PlaceHolder
- Protected MonRadioButton As New System.Web.UI.WebControls.RadioButtonList
-
-
- Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
-
- 'On ajoute un peu de text au PlaceHolder
- PlaceHolder1.Controls.Add(New LiteralControl("Déclenchement de l'evenement"))
-
- 'On Configure notre RadiobuttonList
- MonRadioButton.RepeatDirection = RepeatDirection.Horizontal
- MonRadioButton.Width = Unit.Pixel(400)
- MonRadioButton.DataSource = Split("Click,OnChanged", ",")
- MonRadioButton.DataBind()
- MonRadioButton.SelectedIndex = 0
-
- 'Par Défaut on dit que si il change on recharge la page
- MonRadioButton.AutoPostBack = True
-
- PlaceHolder1.Controls.Add(MonRadioButton)
-
- Dim MonTextBox As TextBox
-
- 'On fait une boucle pour mettre 10 Textbox
- For i As Integer = 0 To 10
-
- 'On reinstancie le texbox
- 'et on le configure
- MonTextBox = New TextBox
- MonTextBox.ID = "TonTextbox" & i
- MonTextBox.Text = MonTextBox.ID
-
- 'Si le radiobutton est sur onchanged
- If MonRadioButton.SelectedValue = "OnChanged" Then
- 'On dit que des que le texbox change il fait un postback
- MonTextBox.AutoPostBack = True
- 'Quand le textbox change il execute MonTextBox_TextChanged
- AddHandler MonTextBox.TextChanged, AddressOf MonTextBox_TextChanged
- End If
-
- 'On ajoute notre textbox dans le Placeholder puis un saut de ligne
- PlaceHolder1.Controls.Add(MonTextBox)
- PlaceHolder1.Controls.Add(New LiteralControl("<br>"))
-
- Next
-
- 'On en a plus besoin donc on peut l'enlever de la memoire
- MonTextBox.Dispose()
-
- 'Si on est sur click
- If MonRadioButton.SelectedValue = "Click" Then
- 'On va rajouter un bouton
- 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
- PlaceHolder1.Controls.Add(LeBouton)
- End If
-
- End Sub
-
- Private Sub MonTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
-
- 'On crée un nouveau textbox
- Dim LeTextBox As New TextBox
- 'On Assigne notre nouveau textbox, avec l'objet qui nous a envoyé ici
- 'On voit ainsi l'importance de sender
- LeTextBox = CType(sender, TextBox)
- 'Un peu de text pour verifier que ca marche bien
- Response.Write("Vous venez de modifié : " & LeTextBox.ID & " avec la valeure : " & LeTextBox.Text)
-
- End Sub
-
- Private Sub LeBouton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
-
- Dim LeTextBox As TextBox
- For i As Integer = 0 To 10
- Try
- 'idem que si dessus sauf que la on cherche le textbox
- 'dans la page, on fait donc une boucle sur tous les 10 textbox
- LeTextBox = New TextBox
- LeTextBox = CType(Page.FindControl("TonTextbox" & i), TextBox)
- 'Un peu de text
- Response.Write("Texbox N°" & i & " : " & LeTextBox.Text & "<br>")
- Catch ex As Exception
- 'Une connerie vient d'etre faite
- 'Surement parce que le texbox recherché n'existe pas
- End Try
- Next
-
- End Sub
-
- End Class
********Recuperer Valeur Textbox Dynamique.aspx**********
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="Recuperer Valeur Textbox Dynamique.aspx.vb" Inherits="TestExemple.MaPage"%>
<html>
<head>
<title>Generer des controles dynamiquement et recuperer leurs evenement et leurs
valeurs </title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:placeholder id="PlaceHolder1" runat="server" />
</form>
</body>
</html>
********Recuperer Valeur Textbox Dynamique.aspx.vb**********
Public Class MaPage
Inherits System.Web.UI.Page
Protected WithEvents PlaceHolder1 As System.Web.UI.WebControls.PlaceHolder
Protected MonRadioButton As New System.Web.UI.WebControls.RadioButtonList
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'On ajoute un peu de text au PlaceHolder
PlaceHolder1.Controls.Add(New LiteralControl("Déclenchement de l'evenement"))
'On Configure notre RadiobuttonList
MonRadioButton.RepeatDirection = RepeatDirection.Horizontal
MonRadioButton.Width = Unit.Pixel(400)
MonRadioButton.DataSource = Split("Click,OnChanged", ",")
MonRadioButton.DataBind()
MonRadioButton.SelectedIndex = 0
'Par Défaut on dit que si il change on recharge la page
MonRadioButton.AutoPostBack = True
PlaceHolder1.Controls.Add(MonRadioButton)
Dim MonTextBox As TextBox
'On fait une boucle pour mettre 10 Textbox
For i As Integer = 0 To 10
'On reinstancie le texbox
'et on le configure
MonTextBox = New TextBox
MonTextBox.ID = "TonTextbox" & i
MonTextBox.Text = MonTextBox.ID
'Si le radiobutton est sur onchanged
If MonRadioButton.SelectedValue = "OnChanged" Then
'On dit que des que le texbox change il fait un postback
MonTextBox.AutoPostBack = True
'Quand le textbox change il execute MonTextBox_TextChanged
AddHandler MonTextBox.TextChanged, AddressOf MonTextBox_TextChanged
End If
'On ajoute notre textbox dans le Placeholder puis un saut de ligne
PlaceHolder1.Controls.Add(MonTextBox)
PlaceHolder1.Controls.Add(New LiteralControl("<br>"))
Next
'On en a plus besoin donc on peut l'enlever de la memoire
MonTextBox.Dispose()
'Si on est sur click
If MonRadioButton.SelectedValue = "Click" Then
'On va rajouter un bouton
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
PlaceHolder1.Controls.Add(LeBouton)
End If
End Sub
Private Sub MonTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
'On crée un nouveau textbox
Dim LeTextBox As New TextBox
'On Assigne notre nouveau textbox, avec l'objet qui nous a envoyé ici
'On voit ainsi l'importance de sender
LeTextBox = CType(sender, TextBox)
'Un peu de text pour verifier que ca marche bien
Response.Write("Vous venez de modifié : " & LeTextBox.ID & " avec la valeure : " & LeTextBox.Text)
End Sub
Private Sub LeBouton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim LeTextBox As TextBox
For i As Integer = 0 To 10
Try
'idem que si dessus sauf que la on cherche le textbox
'dans la page, on fait donc une boucle sur tous les 10 textbox
LeTextBox = New TextBox
LeTextBox = CType(Page.FindControl("TonTextbox" & i), TextBox)
'Un peu de text
Response.Write("Texbox N°" & i & " : " & LeTextBox.Text & "<br>")
Catch ex As Exception
'Une connerie vient d'etre faite
'Surement parce que le texbox recherché n'existe pas
End Try
Next
End Sub
End Class
Conclusion
Je suis en code behind, j'ai fait ca dans VS.net 2003, j'ai une assembly qui s'appelle TestExemple Si vous avez des questions n'hesitez pas J'ai essayé de commenter un peu le code, mais il y a pas grand chose à commenter Mettez moi une note ca fait toujours plaisir
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Ajout de lien dynamique dans le texte [ par jcq ]
Bonjour,est-ce que quelqu'un connait un moyen simple et rapide de transformer tous les liens http://XXXXXX, ftp:XXXXX, email@XXXXX qui se trouvent dan
Probleme avec un PostBack et controle dynamique [ par snakpak123 ]
Bonjour,j'ai un problème avec la génération de contrôle dynamique et le Postback. Je genère une table dynamique avec du texte et 2 boutons(Édition et
ajout dynamique d'une <div> c# [ par lilippx ]
bonjour, mon petit probleme, je cherche à ajouter dynamique ment une div, ce que je fais : LiteralControl nouvelleSemaine=new LiteralControl("<div
Mettre à jour text d'un controle de facon dynamique [ par puman ]
Bonjour,Dans ma page ASP .Net, je vais rechercher une liste dans ma BD Access qui contient 4 noms. A partir de ces 4 noms je voudrais afficher 4 contr
Ajout Dynamique silverlight [ par DCWeb ]
Bonjourj'aimerai savoir si il y possible d'ajouter de façon dynamique des contrôles (bouton, ligne, ....) depuis le code_behind avec silverlight 2si c
ModalPopupExtender: Chargement dynamique des informations [ par jabcoco25 ]
Bonjour, je suis dans un context ou j'ai besoin d'afficher le détail d'un item lors d'un click d'un bouton dans un "Modalpopup extender" de ajax .net.
Trouvez le controle qui a envoyé le page.postback [ par BrokenArrow29 ]
Salut,Comment je pourrais faire pour trouver quel controle (Linkbutton) qui a provoqué un page postback. Car dans certains cas j'aimerais loader des c
Ajax et controle de validation [ par bmortada ]
Bonjour,voilà mon problème,j'ai crée une page qui doit permettre d'encoder dans la db plusieurs enregistrement.pour cela j'ai une série de textbox par
Menu dynamique a partir d'un web.config [ par BrokenArrow29 ]
Bonjour tout le mondecomment je pourrais initialiser mon menu avec des variables du web.configj'ai essayer ; <asp<font color="#0000ff"
disparition de <profile> après ajout de propriétés [ par ordiminnie ]
Bonjour,voilà mon problème, je souhaite faire un formulaire d'inscription. J'ai donc rajouté des propriétés à <profile> tel que le montre le cod
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|