2009-04-14 10 views

Antwort

1

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"); 
} 
+0

Ich habe es versucht. Aber es ist nicht in der Lage, die Textfelder mit FindControl zu finden – Roshan

0

Sie müssen einen Verweis auf diese Textfelder speichern, damit Sie in Ihrer Schaltfläche auf die Klick-Handle-Methode zugreifen können.

2

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.)

+0

Wie kann ich das tun? – Roshan

0

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 Postbacks
txtBox.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") 
    { 
     ... 
    } 
} 
Verwandte Themen