J'ai une page avec 2 contrôles Web qui, intentionnellement, ne se connaissent pas. Chaque contrôle a également sa propre classe d'assistance pour prendre soin des événements et autres. Seulement 1 des contrôles (EditBox
) a un bouton "sauvegarder" et quand il enregistre, il doit saisir des données de l'autre contrôle (MceEditorAlpha
) sur la page, comment je fais cela? Le contrôle MceEditorAlpha
a SaveMessage()
dessus qui récupérera des données du contrôle EditBox
et l'enregistrera dans son objet de classe d'aide, cependant, je ne sais pas comment appeler SaveMessage()
de la classe d'aide.C# Appel d'une méthode dans une classe contenant
Voici le contrôle que n'a pas avoir un bouton de sauvegarde sur elle.
public partial class MceEditorAlpha : System.Web.UI.UserControl
{
public MceEditor Mce { get; set; }
public void SaveMessage()
{
if (Mce == null)
Mce = new MceEditor();
Mce.Text = tbDescription.Text;
}
}
Maintenant, dans la classe d'aide pour MceEditorAlpha
J'ai un gestionnaire d'événements qui se déclenche lorsque le bouton « enregistrer » sur le contrôle EditBox
est pressé. Ce que je dois faire est d'obtenir cet événement pour déclencher SaveMessage()
dans la classe ci-dessus. Dois-je créer un événement dans MceEditor
et un gestionnaire dans MceEditorAlpha
ci-dessus?
public class MceEditor : IMessageBroadcaster
{
public string Text { get; set; }
public void OnEditBoxSave(object sender, EventArgs e)
{
//Handle the event from the EditBoxSave "save" button_click
}
}
Ça me semble bien, je travaille dessus maintenant. Je suppose que je n'ai jamais vraiment fait et gestionnaire d'événements qui tire tout simplement un autre événement avant. – kd7iwp