0 votes

Événement ASP.NET pour le contrôle de l'utilisateur

Dans une page aspx, j'utilise un contrôle utilisateur qui contient un bouton. J'ai besoin de cacher le bouton (qui est dans le contrôle utilisateur) quand une case à cocher (dans l'aspx) est cliquée. J'ai un postback pour la case à cocher. Je veux cacher le bouton lorsque la case à cocher est cochée. Dans quel événement dois-je faire le masquage et le démasquage ?

Je ne peux pas ajouter de propriété supplémentaire dans le contrôle de l'utilisateur. Est-il possible d'accéder au bouton à l'aide de FindControl et de le désactiver ? Quel événement peut être utilisé pour cela ?

Veuillez m'aider

Gracias

Lijo

0voto

Cybur Points 74

Vous feriez le masquage dans la case à cocher cliquée de l'événement......

Votre question est-elle de savoir comment faire pour que votre page aspx parle à votre ascx ?

Exposez une méthode publique dans votre ascx et appelez-la à partir de votre aspx onSelectChanged pour votre Checkbox.

0voto

UserControl Points 2892
    protected void myCheckBox_CheckedChanged(object sender, EventArgs e)
    {
        ucMyControl.ButtonVisible = ((CheckBox)sender).Checked;
    }

et dans votre contrôle d'utilisateur définir :

    public bool ButtonVisible
    {
        set { myButton.Visible = value; }
    }

0voto

KP. Points 8241

Êtes-vous autorisé à modifier le contrôle de l'utilisateur ? La meilleure solution consiste certainement à exposer une propriété ou une méthode publique sur le contrôle de l'utilisateur, puis à faire en sorte que l'événement de clic de la case à cocher sur la page communique avec le contrôle de l'utilisateur par le biais de la propriété ou de la méthode personnalisée.

FindControl peut fonctionner, mais vous brisez le concept d'encapsulation si la page connaît l'ID du bouton qui se trouve dans le contrôle de l'utilisateur et ne devrait pas le faire, à mon avis...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X