2012-04-03 12 views
0

Ich habe zwei Benutzersteuerelemente, in einem von ihnen habe ich ein Textfeld, ich muss seinen Wert aus dem zweiten Benutzersteuerelement abrufen, das registriert ist auf derselben Seite. Wie kann ich das machen? Ich weiß, die folgende Zeile ist falsch .. aber ich erinnere mich, dass es so etwas war.So finden Sie ein Steuerelement in einem separaten Benutzersteuerelement auf derselben Seite, auf der es registriert ist

TextBox myText = (TextBox)FindControl["mycontrol"] as TextBox; 

Antwort

2

Wenn Sie den Wert des zweiten Steuer von der ersten Steuer

zugreifen müssen

Wo SecondUserControl die ID in der Seite und tbCardNumber gegeben ist, ist die ID für die TextBox in der zweiten Steuer gegeben

Wenn Sie versuchen, die TextBox von einer Seite zuzugreifen

var textBox = SecondUserControl1.FindControl("SecondUserControl") 
           .FindControl("tbCardNumber") as TextBox; 

Wo SecondUserControl1 ist die ID des Steuerelements und Sie können es in Code hinter zugreifen.

Sie können jedoch die den Wert des Textfeldes über eine Eigenschaft

public string TextBoxValue 
{ 
    get 
    { 
     return tbCardNumber.Text; 
    } 
} 

Aber Sie würden immer noch brauchen Findcontrol-Methode aussetzen, wenn Sie es über einen anderen Steuer Benutzer zugreifen

1

Der Code sollten Sie arbeiten müssen, es sei denn Sie zu viele Würfe haben

TextBox myText = FindControl["mycontrol"] as TextBox; 

MSDN documentation on FindControl, die eine Control zurückgibt, die die Basisklasse von the Textbox ist, so dass in dieser Besetzung sollte, solange die Arbeit Kontrolle gefunden ist eine Textbox