Ich habe einige dynamische Textfelder bei einem Klick hinzugefügt. Ich benötige die Werte im Click-Ereignis eines anderen Knopfes klicken. Wie kann ich das erreichen?So erhalten Sie die Werte einer dynamischen Textbox
Antwort
Haben Sie versucht, die Methode FindControl(string id)
auf dem ParentControl (z. B. ein Panel) zu finden?
protected void btnDoStuff_click(Object sender, EventArgs args)
{
TextBox txtBox = (TextBox) pnlDynamicButtons.FindControl("txtBox1");
}
Sie müssen einen Verweis auf diese Textfelder speichern, damit Sie in Ihrer Schaltfläche auf die Klick-Handle-Methode zugreifen können.
Wenn Sie dynamische Steuerelemente hinzufügen, müssen Sie sie zunächst bei jedem Postback hinzufügen. Dann und nur dann, wenn Sie die ID des Steuerelements haben, das Sie hinzugefügt haben, können Sie es mit der FindControl-Methode finden, wie von Kirschstein beschrieben.
[Bearbeiten] Roshan, Sie müssen die Steuerelemente dynamisch (idealerweise im Init-Ereignis) auf jedem Postback hinzufügen. Geben Sie ihnen eine ID. Dies ist die ID, mit der Sie jederzeit darauf zugreifen können. Sie können die Steuerelemente zu jedem Containersteuerelement hinzufügen (asp: Panel, div mit runat = "server" -Attribut usw.)
Wie kann ich das tun? – Roshan
Beim Hinzufügen von dynamischen Steuerelementen müssen Sie sie bei jedem Postback hinzufügen, Sie könnten referenziere sie während des Erstellens, indem du zum Beispiel die txtbox id zu List hinzufügst.
Sie könnten diese Liste später verwenden, um dynamisch erstellte Textfelder zu erhalten und deren Werte abzurufen.
for (int i = 0; i < listTextBox.Count; i++)
{
TextBox txt = ((TextBox)(listTextBox[i]));
}
Wenn Sie benötigen, bevor Postbacks ihre Werte zu erhalten, während sie ein Attribut zu schaffen fügen Sie dynamisch
vor PostbackstxtBox.Attributes.Add("isDynamic", "Y");
dann erstellt, wie zu markieren, Schleife durch die Eingangskontrolle, sie zu erhalten.
var inputControls = document.getElementsByTagName("input");
for(var i=0 ; i<inputControls.length ; i++)
{
if (inputControls[i].getAttribute("isDynamic") == "Y")
{
...
}
}
- 1. So beschränken Sie eine TextBox
- 2. So erhalten Sie die Operationen in der dynamischen Programmierung
- 3. So wählen Sie die Textbox in Datenvorlage
- 4. So erhalten Sie Abfrage-Querystring-Werte?
- 5. PHP So erhalten Sie Werte von Daten
- 6. So wählen Sie Textbox Werte in Windows-Formular
- 7. So erhalten Sie die richtigen Werte von Polar Pulsmesser
- 8. So erhalten Sie die Stringlänge
- 9. Wie erhalten Sie Werte von dynamischen Steuerelementen in einem ListView beim Postback?
- 10. Überprüfen Sie die Werte eines dynamischen Objekts Eigenschaften
- 11. So erhalten Sie die übersetzten Felder einer Doktrinentabelle
- 12. So erhalten Sie die Länge einer MP3 in C#
- 13. So erhalten Sie die Standardshell
- 14. So erhalten Sie die Kompassrichtung
- 15. So erhalten Sie die absoluten Koordinaten einer Ansicht
- 16. Wie kann ich Text einer Textbox erhalten?
- 17. TextBox in dynamischen Spalte wickeln Text nicht
- 18. So erhalten Sie eindeutige Werte in der Liste
- 19. So erhalten Sie die Dateigröße eines "System.Drawing.Image"
- 20. Wie erhalten Sie die build.prop-Werte?
- 21. WinForms: Variable Anzahl der dynamischen TextBox-Steuerelemente
- 22. So speichern Sie die Werte aus einer Huffman-Codierung
- 23. So zeigen Sie die Werte aus einer app.config-Datei an
- 24. So erhalten Sie Textwerte aus einer Listenansicht
- 25. jQuery mehrere Textbox Werte binden einzelne Textbox
- 26. So erfassen Sie den Wert von Textbox
- 27. So erstellen Sie einen dynamischen Kristallbericht
- 28. So erstellen Sie einen dynamischen UIPageViewController
- 29. So erhalten Sie die Bildschirmkoordinaten der InfoWindow-Ansicht einer Karte
- 30. So erhalten Sie die Klassenreferenz von einer gegebenen Zeichenfolge
Ich habe es versucht. Aber es ist nicht in der Lage, die Textfelder mit FindControl zu finden – Roshan