2009-02-12 9 views
5

Je crée un contrôle utilisateur dans ASP.NET (en utilisant VB) qui utilise le contrôle ajax autocomplete sur une zone de texte pour obtenir une valeur. Ensuite, je veux que la page publie et exécute du code en fonction de la valeur qui lui est transmise par ce contrôle. Le problème est, je ne suis pas sûr exactement comment faire ceci. Je suis sûr que c'est facile et je devrais le savoir, mais je ne le sais pas.ASP.NET: transmettre la valeur du contrôle utilisateur à la page?

Merci d'avance!

Répondre

11

Dans votre contrôle utilisateur une propriété pour exposer la valeur

Public Property SomeValue() As String 
Get 
    Return textbox1.Text 
End Get 
End Property 

Ensuite, dans votre charge de page ASPX, référence seulement la valeur du contrôle de l'utilisateur.

userControl1.SomeValue 

Edit, je viens d'essayer de changer ma syntaxe vb.net, je ne sais pas vraiment vb, de sorte que la syntaxe peut ou ne peut pas avoir raison.

0

((NomDePage) this.Page) .VariableOnPage = this.Foobar;

+1

Il est généralement une mauvaise pratique de contrôles couple à la page de cette façon car il a tendance à être assez fragile. –

0

Dans le code-behind de votre contrôle utilisateur, exposez une propriété, par ex.

public TextBox UserControlTextBox 
{ 
    return this.TextBoxInstance; 
} 

Ensuite, à partir de la page vous suffit d'appeler

UserControlInstance.UserControlTextBox.Text; 
Questions connexes