NunoGomesControlToolkit – Improving Web Apps performance

A few weeks ago I told you about a control toolkit I was making.

I decided to call him NunoGomesControlToolkit and is intended to improve web apps performance by decreasing total page size. This page size reduction is achieved by decreasing control ClientID size.

This control toolkit can be applied to any existing ASP.NET 2.0 Web Aplication by using the tagmapping configuration facility.

To obtain maximum redution it’s also recommended to extend webforms, masterpages and usercontrols not from regular Page, MasterPage and UserControl controls from ASP.NET framework but instead use the corresponding control from NunoGomesControlToolkit.

TagMapping is only used for markup interpretation and therefore all dynamic created controls are not mapped. To override this limitation its also included in this toolkit the DynamicControlBuilder class. Use this class to allow tagmapping over dynamic created controls.

As I promise, the control toolkit is now available at code.msdn.microsoft.com.

I’m currently applying the NunoGomesControlToolkit to the BlogEngine.NET 1.3 version, and as soon as I test it I will make it available.

kick it on DotNetKicks.com

2 Replies to “NunoGomesControlToolkit – Improving Web Apps performance”

  1. NunoGomesControlToolkit ?! NunoGomesControlToolkit ?! Couldn’t get your imagination to work? 🙂

    Great work on this! Well done. But since the BlogEngine.net is already on the 1.4 version, try to include it on the latest release.

  2. Hello Nuno!
    Thanks for your work!
    I tried your Toolkit under Visual Studio 2008.
    At first there was one runtime error and I had been reviewing your code
    I had slightly changed your code in NamingContainerControlCollection.cs:

    public override void RemoveAt(int index)
    {
    if (thisindex.ID != null)
    {
    if (m_linkDictionary.ContainsKey(thisindex.ID))
    {
    mnameDictionary.Remove(mlinkDictionarythis[index].ID);
    }
    m_linkDictionary.Remove(thisindex.ID);
    }
    base.RemoveAt(index);
    }

    Than I found that AjaxControlToolkit is not working within this module.
    For example a little piece of code here:

    <cc1:CollapsiblePanelExtender ID="CollapsibleFilterPanel"
    runat="Server" TargetControlID="PanelFilter" ExpandControlID="ExpColID" CollapseControlID="ExpColID" Collapsed="false" SuppressPostBack="false" CollapsedSize="0" ImageControlID="btnSearchFilter" />

    <themes:ImageButton ID="btnSearchFilter" runat="server" />

    In runtime Collapsible Panel Extender cannot find btnSearchFilter Id.
    Is it required adding AjaxControlToolkit to references and overriding CollapsiblePanelExtender?

Leave a Reply

Your email address will not be published. Required fields are marked *