+1  A: 

You can use a helper class with static method:

public static class PageHelper {
    public static void RegisterClientScriptIfNeeded( Page page, string key, string url ) {
        if( false == page.IsClientScriptBlockRegistered( key )) {
            page.ClientScript.RegisterClientScriptInclude( key , ResolveClientUrl( url ));
        }
    }
}

or you can have a similar instance method in some base class for page/webcontrol/usercontrol, which will do the same thing.

TcKs
A: 

I can't see the image you posted.

You could also use Context.Items to ensure that the item is only added once per request and render the javascript through the control itself, although I think the registerclient script is great too.

    protected override void Render(HtmlTextWriter writer)
    {
        base.Render(writer);
        string[] items = new string[] { "jqModal", "jQuery", "tellAFriend" };
        //Check if the Script has already been rendered during this request.
        foreach(string jsFile in items)
        {          
            if (!Context.Items.Contain(sjsFile))
            {
             //Specify that the Script has been rendered during this request.
          Context.Items.Add(jsFile,true);
          //Write the script to the page via the control
          writer.Write(string.Format(SCRIPTTAG, ResolveUrl(jsFile)));
            }
        }
     }
Quintin Robinson