[Events] Problems...

Discussion in 'ASP .Net Building Controls' started by Lupin_3d, Jul 8, 2003.

  1. Lupin_3d

    Lupin_3d Guest

    Hi...
    i have an aspx page(home.aspx) that contains an ascx usercontrol
    (chrt.ascx).
    In home.aspx there is a button with his event...
    In the ascx page i want to create an event for that button.... i do in
    this way...

    (home.aspx)
    private void InitializeComponent()
    {
    this.button1.click += new System.EventHandler(this.button1_Click);
    }

    public static event EventHandler butt_click;

    private void button1_Click(object sender, System.EventArgs e)
    {
    butt_click(this,e);
    }

    (chrt.ascx)
    private void InitializeComponent()
    {
    home.butt_click += new System.EventHandler(this.butt1_click);
    }

    private void butt1_click(object sender, System.EventArgs e)
    {
    ...... // code that calls a stored procedure
    }

    But....if i open Sql Profiler i see that when i click this button once
    the stored procedure is called once...if i click another time the
    stored procedure is called twice...and so on...after an intense use of
    the site (the button was clicked ten times) the site become very slow
    due the many calling to the stored procedure...

    can u help in my trouble?

    10nx a lot.
     
    Lupin_3d, Jul 8, 2003
    #1
    1. Advertisements

  2. Lupin_3d

    Robozel Guest

    Hi, mitico Lupin,
    your problem stays into
    public static event EventHandler butt_click;
    you declared the event static, and so every time the control creates it
    subscribes again to the event
    home.butt_click += new System.EventHandler(this.butt1_click);
    remove the static from the butt_click desclaration.

    r.
     
    Robozel, Jul 11, 2003
    #2
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.