Je suis un peu confus quant aux raisons pour lesquelles asp.net ne restitue pas une liste déroulante avec la propriété autopostback définie sur true lors de l'utilisation de la méthode RenderControl.La méthode RenderControl d'Asp.net ne restitue pas l'autopostback pour la liste déroulante
par exemple
Dim sw As New IO.StringWriter
Dim tw As New HtmlTextWriter(sw)
Dim table As New Table
table.Rows.Add(New TableRow)
Dim tr As TableRow = table.Rows(0)
tr.Cells.Add(New TableCell)
Dim tc As TableCell = tr.Cells(0)
Dim ddlMyValues As New DropDownList
ddlMyValues.ID = "ddl1"
ddlMyValues.Items.Add("Test1")
ddlMyValues.Items.Add("Test2")
ddlMyValues.Items.Add("Test3")
ddlMyValues.AutoPostBack = True
tc.Controls.Add(ddlMyValues)
table.RenderControl(tw)
Debug.WriteLine(sw.ToString)
ma sortie rend la liste déroulante sans onchange = "javascript: setTimeout ('__ doPostBack (\ DDL1 \', \ '\') », 0)" qui est généré par asp.net lors de l'utilisation de la liste déroulante normalement.
Y a-t-il un problème?
Salut Ian, je travaille avec un contrôle créé par un autre développeur, et il passe par cette routine pour créer une rangée de contrôles. J'étends son contrôle en ajoutant une validation aux drop downs que je ne peux pas réaliser! – Tanya
Sonne comme un gâchis terrible. Si vous n'avez pas besoin de créer dynamiquement une sortie HTML, pourquoi ne pas simplement placer les contrôles dans un usercontrol plutôt que d'utiliser HTMLWriter? –