MasterPage et UserControl

Résolu
clemmat Messages postés 3 Date d'inscription jeudi 23 novembre 2006 Statut Membre Dernière intervention 8 octobre 2009 - 31 juil. 2007 à 11:16
clemmat Messages postés 3 Date d'inscription jeudi 23 novembre 2006 Statut Membre Dernière intervention 8 octobre 2009 - 2 août 2007 à 10:54
Bonjour,

voici mon problème.

Dans mon projest ASP, j'ai une MasterPage.
Un UserControl est inséré dans une page de contenu.

J'aimerai savoir s'il est possible, et si oui comment, appeler une procédure publique de la MasterPage dans le UserControl.

Merci d'avance

Clemmat

3 réponses

cs_Yxion Messages postés 219 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 7 septembre 2009
1 août 2007 à 17:28
Tu pourrais passer par la méthode suivante  : Créer un évenement sur ton UserControl utilisé par la master page :

Dans ton UserControl :

public

event
EventHandler OnEvent;
Dans ta procédure, la ou tu souhaitais appeller la méthode de la page maitre :

if (OnEvent
!=
null)
       OnEvent(
this,
new
EventArgs());

Ensuite dans la page maitre, coté code ASP :

<

uc1:WebUserControl2
OnEvent="WebUserControl2_OnEvent"
ID="WebUserControl2_1"
runat="server"
/>

Ensuite dans la page maitre, mais coté code behind :

void WebUserControl2_OnEvent(
object sender,
EventArgs e)
{
         //Appel de la méthode de la page maitre

 }

<hr />
I love .net
3
clemmat Messages postés 3 Date d'inscription jeudi 23 novembre 2006 Statut Membre Dernière intervention 8 octobre 2009
2 août 2007 à 10:04
J'ai un autre problème.

Quand je veux passer des arguments spécifiques, ça ne marche pas.

Voici mon code d'appel :

protectedvoid Button1_Click(object sender, EventArgs e)
    {
        try
        {
            double l1= double.Parse(TextBox1.Text);
            double l2= double.Parse(TextBox2.Text);
            double l3 = l1 / l2;
            Label1.Text =  l3.ToString();          
       }
        catch(Exception ex)
        {
            if(OnErr != null)
                OnErr(this, newErrEventArgs(ex.Message,"Execute division"));
        }
    }

public eventEventHandler OnErr;

mon évènement OnErr semble être null.

ErrEventArgs est une classe qui hérite de EventArgs à laquelle j'ai ajouté 2 propiétés.

Dans ma page de contenu :

:UC1ID="UC1_1"runat="server"OnErr="UC1_1_OnErr"/>

Dans le .cs :

protected void UC1_1_OnErr(object sender, ErrEventArgs e)
    {
        ((MasterToto)this.Master).GestErr(e.Emetteur + " : " +  e.Message);
    }

Merci de voir où peut être mon erreur
0
clemmat Messages postés 3 Date d'inscription jeudi 23 novembre 2006 Statut Membre Dernière intervention 8 octobre 2009
2 août 2007 à 10:54
Pas de problème, j'ai trouvé mon erreur.
Dans la page de contenu, je dois déclarer :
Re : MasterPage et UserControl
par : [infomsg.aspx?ID=989664#reponsemsg Rép.], [javascript:void(0); MP], [infomsgm_CLEMMAT_917263.aspx 2 msg]

[auteurdetail.aspx?ID=917263 ]

J'ai un autre problème.

Quand je veux passer des arguments spécifiques, ça ne marche pas.

Voici mon code d'appel :

protectedvoid Button1_Click(object sender, EventArgs e)
    {
        try
        {
            double l1= double.Parse(TextBox1.Text);
            double l2= double.Parse(TextBox2.Text);
            double l3 = l1 / l2;
            Label1.Text =  l3.ToString();          
       }
        catch(Exception ex)
        {
            if(OnErr != null)
                OnErr(this, newErrEventArgs(ex.Message,"Execute division"));
        }
    }

public eventEventHandler OnErr;

mon évènement OnErr semble être null.

ErrEventArgs est une classe qui hérite de EventArgs à laquelle j'ai ajouté 2 propiétés.

:UC1ID="UC1_1"runat= "server" On OnErr ="UC1_1_OnErr"/>

Et dans le .cs :

protected void UC1_1_OnErr(object sender, EventArgs e)
    {
        ((MasterToto)this.Master).GestErr(ErrEventArgs)e)ErrEventArgs)e)</italique>.Message);
    }

Merci de voir où peut être mon erreur

</td></tr></tbody></table>
0
Rejoignez-nous