J'ai un contrôle de l'assistant dans lequel j'ajoute un contrôle utilisateur contenant un tableau simple avec certains champs de saisie en fonction de l'entrée des utilisateurs du nombre d'enfants qu'ils ont. ex: combien d'enfants avez-vous donc j'ajoute le contrôle utilisateur ascx basé sur cette boucle qui va à l'étape 5 de mon assistant qui est également dans une page maître. Puis j'utilise findcontrol pour atttempt l'obtenir à ces boîtes de saisie afin que je puisse enregistrer les données dans ma base de données, findcontrol revient à zéro, même si l'utilisateur contrôle dans visible et recréé à la page de chargement après la publication.FindControl ne trouve pas le contrôle utilisateur dynamiquement ajouté dans le contrôle de l'assistant
toute aide grandement appréciée. bouton de commande de trouvaille: protégée Sub Button1_Click (expéditeur de ByVal comme objet, ByVal e comme System.EventArgs) Poignées Button1.Click
Dim numbchildren As Integer = CInt(Howmanychildren.Text)
For i As Integer = 1 To numbchildren - 1
Dim textbox As TextBox = TryCast(Me.Wizard1.FindControl("WizardStep5").FindControl("Minor_1_Child_Name"), TextBox)
'Dim textbox2 As TextBox = TryCast(Me.Wizard1.FindControl("WizardStep5").FindControl("Howmanychildren"), TextBox)
If textbox IsNot Nothing Then
Response.Write("Found TextBox1 <br>")
Dim val As String = textbox.Text
Response.Write(val & "<br>")
Else
Response.Write("not found" & "<br>")
End If
' Insert into DB
'SaveValueToDatabase(val)
Next
End Sub
Ajout de la fonction de contrôle de l'utilisateur sur la liste déroulante:
protégé Sous Doyouhavechildren_SelectedIndexChanged (expéditeur ByVal comme objet, ByVal e comme System.EventArgs) Poignées Doyouhavechildren.SelectedIndexChanged
Dim numbchildren As Integer = CInt(Howmanychildren.Text)
Dim cnt As Integer = 1
'Panel1.Controls.Clear()
Select Case Doyouhavechildren.SelectedIndex
Case 0
ViewState.Add("Doyouhavechildren", numbchildren)
Do While cnt <= numbchildren
Dim uc As Web.UI.UserControl = DirectCast(Page.LoadControl("MinorChild.ascx"), Web.UI.UserControl)
uc.ID = "Minor_" + cnt.ToString()
Wizard1.ActiveStep.Controls.Add(uc)
cnt = cnt + 1
Loop
Exit Select
Case 1
Exit Select
End Select
End Sub
contrôle utilisateur:
<% @ Control Language = "VB" AutoEventWireup = "false" CodeFile = "MinorChild.ascx.vb" Inherits = "MinorChild" %>
Nom
Âge
SS #
date de naissance
les travaux de contrôle de trouver dans le champ howmanychildren qui est statique