Zeta Web Control Library

A small set of enhanced ASP.NET controls (e.g. an AJAX-enabled ClickOnceButton).

ZetaWebControlLibrary_01.png

Introduction

Zeta Web Control Library is a .NET 2.0 class library that provides you with some enhanced ASP.NET 2.0 web controls.

What's in?

The library contains the following controls:

* An enhanced version of Eric Plowe's ClickOnceButton control. This is a button control that disables itself after being clicked for avoiding that the user clicks the button twice.
* An enhanced version of Peter Bromberg's SessionTimeoutControl control. This allows for redirecting to an URL when a user's session timed out.
* An enhanced GridView control. This control enables you to persist a sort state to an external storage of your choice by subscribing to events or deriving from the control and overriding virtual functions.

The enhanced ClickOnceButton has additional features for working well in an ASP.NET AJAX environment as well as for disabling other buttons on a page, either all or selectively:

<zeta:ClickOnceButton 
    DisableAfterClick="true"
    Mode="ThisAndRelatedButtons"
    runat="server" 
    ID="CmdSave" 
    Text="Save" 
    OnClick="CmdSave_Click">
        <zeta:RelatedButton ButtonControlID="CmdCancel" />
        <zeta:RelatedButton ButtonControlID="CmdDeactivate" />
        <zeta:RelatedButton ButtonControlID="CmdActivate" />
        <zeta:RelatedButton ButtonControlID="CmdReleaseImmediately" />
</zeta:ClickOnceButton>

Using the code

To include the code in your own ASP.NET web project, add a reference to the "ZetaWebControlLib.dll" to your project.

Next, add a control reference to the controls in the library. This can be done either on each ASPX page where you want to use a control, or centrally in the "web.config" file.

In the "web.config" file, the syntax is:

<add tagPrefix="zeta" namespace="ZetaWebControlLib.Button" assembly="ZetaWebControlLib"/>

To reference the control on a single ASPX page (or in an ASCX control), add the following reference at the top of the file:

<%@ Register Namespace="ZetaWebControlLib.Button" TagPrefix="zeta" %>

To finally create an instance of a control on your ASPX page (or in your ASCX control), use the following syntax:

<zeta:ClickOnceButton 
    runat="server" 
    DisableAfterClick="true"
    ID="CmdOK" 
    Text="Submit the form"
    OnClick="CmdOK_Click" />

Points of Interest

While this article is mostly a very brief overview and does not go into implementation details, I still hope that you like it and that I've shown enough to enable you to decide whether a control in here is usable for your scenario.

For questions, comments and feebacks (which I love to hear!) please use the Issues tab at the top of this article.

History

* 2009-11-26 - First release to CodePlex.com.

Last edited Nov 26, 2009 at 4:57 PM by UweKeim, version 4