Salve a tutti,
sto realizzando una web application (VS 2005) e vorrei un consiglio su come
gestire la connessione db al suo interno.
L'applicativo è composto da una sola pagina principale (Default.aspx) ed
n user control che vengono caricati in modo dinamico in base ai parametri in querystring.

Default.aspx
codice:
protected void Page_Load(object sender, EventArgs e)
    {
        
        header.Controls.Add(Page.LoadControl("~/UserControls/Top.ascx"));
        search.Controls.Add(Page.LoadControl("~/UserControls/Search.ascx"));
        left.Controls.Add(Page.LoadControl("~/UserControls/Genre.ascx"));

        string action = "";

        if (!(string.IsNullOrEmpty(Request.QueryString["action"])))
        {
            action = Request.QueryString["action"].ToString();
        }

        switch (action)
        {
            case "home":
                break;
            case "one":
                break;
            case "two":
                break;
            default:
                center.Controls.Add(Page.LoadControl("~/UserControls/Last.ascx"));
                break;
        }
    }
Con tale struttura mi chiedevo come mi conviene gestire la connessione al database?
I vari User control effettuano ogn'uno di essi delle operazioni sul db.
L'ideale (almeno credo) sarebbe aprire la connessione all'inizio nel page_load della
pagina Default.aspx, passarla ai vari user control, e chiuderla alla fine nel page_load della
pagina Default.aspx.
Oppure in ogni user control apro la connessione svolgo l'operazioene e poi la chiudo?
Nel primo caso come posso passare la connessione ai vari user control?

Spero di essere stato abbastanza chiaro.
Vi ringrazio anticipatamente!