Free .NET Stuff from Rick Strahl                  Home |  Articles | Message Board |  WebLog |  Products |  Purchase | News |  

Last updated:
November 26, 2007

Powered by Web Connection

 


Free .NET Tools from Rick Strahl

This page summarizes a few of the most popular .NET and ASP.NET tools and components that I have published in the last few years or so. Some are free tools, but most were presented as part of an article or presentation and the link to those will point to the articles from which you can download the actual tools or components.

Tools

West Wind Web Configuration Utility
Ever need to quickly install a Web application on a different server? You copy files and then you start fiddling with IIS to create a virtual directory, set directory permissions, possibly configure your Visual Studio.NET solution file to run in the different application path or configure MSDE/SQL Server to create a accounts? If you do this a lot this utility is for you. This utility performs these tasks through either an easy to use Windows Forms interface or through a command line interface that uses an XML configuration file that can 'just do it'. Free single file utility.

West Wind ASP.NET 2.0 Compiler UI Utility
ASP.NET 2.0 introduces a command line compiler to pre-compile your Web applications. In the current beta (2) VS.NET doesn't expose most of the functionality of the pre-compiler. This utility provides a graphical front end to the ASP.NET 2.0 compiler that can compile your projects for you and save multiple compiler configurations. You can easily review compiler errors and generate batch from options chosen. Free, single file utility.

JavaScript Minifier Utility
This GUI and Command Line application strips white space and comments from JavaScript files reducing JavaScript file size significantly. The tool provides both a WinForms and command line interface that supports single file or directory batch conversion of JavaScript files. You can also run the ClickOnce Application online.

SnagIt Screen Capture Plugin for Windows Live Writer
This tool is a small plugin for Windows Live Writer that allows you to directly use the powerful SnagIt utility from Techsmith to capture screen shots directly into Blog entries in Windows Live Writer.


ASP.NET Controls and Components

wwHoverPanel AJAX Control
The wwHoverPanel control provides several easy to use AJAX features to ASP.NET. It consists of two controls, wwHoverPanel which provides dynamically loaded pop up window behaviors into the current page including basic effects like fades and shadows and wwCallbackMethod which allows single line page callbacks to methods on the current page or controls contained on the page.

jQuery Calendar ASP.NET Wrapper Control
This control provides a wrapper around Marc Garbanski's cool jQuery Calendar control providing simple dragging and dropping of the calandar and postback support of this popular calendar control.

wwDataBinder - a two-way data binding Extender
As much as ASP.NET 2.0 improves data binding, one aspect - simple control binding for controls like textboxes, checkboxes and selected values of lists for example - is still tedious especially when it comes to unbinding data. This powerful Extender control extends any ASP.NET control on a page and allows binding any property value to a data value or object property. The control supports declarative binding and unbinding, managing of binding errors and managing error display in a consistent fashion.

wwDbResourceProvider - A data driven Resource Provider and Editor for ASP.NET
Need to created localized ASP.NET applications, but struggling with the Resx resources? Take a look at this data driven resource provider implementation that lets you store localization resources in a database. The tool also includes a rich ASP.NET based resource administration interface that can be used to edit resource in a running ASP.NET application and see the changes immediately. An additional control can be used to provide context sensitive resource lookup to this administration form simply by dropping a small control on a form.

PreservePropertyControl - Easily persist values across page postbacks
What? Another state mechanism for ASP.NET? Yup - this one provides similar functionality to ViewState, but without requiring that ViewState is enabled. PreserveProperty() allows automatic storage and restoration of property values on a page. For example, say you have ViewState of on a DataGrid and you want to track the CurrentPageIndex: Persist.PreserveProperty(this.dgCustomers,"CurrentPageIndex"); and you're done. Same with things like ID values or even objects persisted on a form. You can simply change the values and forget about. The value will still be there on the postback. Comes with source code.
requires ASP.NET 2.0

wwWebTabControl - a simple TabStrip control
The wwWebTabControl is a simple, client side driven Tab control that uses ID tags to show and hide content on an ASP.NET page. Easy to use and flexible and comes with source code. A relatively simple demonstration of how to build a control with child collections that can be edited through the designer.

wwMessageDisplay - A generic Message Display class for ASP.Net
Creating messages in your Web application should be quick and easy and most importantly, consistent. They should look like they belong with the rest of the application even if - low and behold - an error occurs. How often have you created a new page to display some simple text or a notification message to your users? Wouldn't it be much nicer if you could reuse an existing template and simply passed in a few parameters to tell it to render an application specific message? This class provides a generic message implementation via ASP.NET's internal page redirection features that encapsuates the process of creating message pages reducing required application code to call it down to a single line of code.

 

Components with Source Code

wwAppConfiguration -  a better Configuration class for .NET
.NET provides rudimentary support for storing and retrieving configuration settings out of .config files. But there are a number of important features missing. Find out how to build a better mousetrap by creating a class that provides strong typing, read/write capability and encryption for values stored in your config files. Works with all types of .NET applications including ASP.NET, WinForms and Console apps.

wwRuntimeHost - ASP.NET Runtime Hosting class
Want to embed the power of ASP.Net into your application to provide rich and dynamic HTML displays in your applications? Add the ability to dynamically execute script code that is changeable after compilation? Don't want to give up debugging and the rich VS environment even in script code? Then take a look at hooking the ASP.Net runtime into your own applications. This article describes what it takes to integrate the ASP.Net runtime in desktop apps and provides an easy to use class that makes integration a matter of a few lines of code.

wwScripting - Dynamic Code Execution Class
Executing code that is created or read in at runtime is no trivial task in .NET. It takes a fair amount of code to accomplish this task, but it also offers a fair amount of power. This article discusses what's involved and provides an easy to use wwScripting wrapper class that provides for dynamic code execution.

wwHTTP - an easier HTTP Client class
.NET provides a powerful WebRequest class for accessing HTTP content over the Web. Unfortunately, although very powerful it leaves out some crucial functionality and hides common functionality fairly deeply in its hierarchy. The wwHTTP class provides a simpler property based model that wrappers many common tasks such as creating POST variables properly for various POST types, automatic cookie-handling and single method retrieval of HTTP content into strings, streams or Reader objects.

InputBox Class for WinForms
C# doesn't have an input box and VB.NET's version is somewhat limited. Here's an InputBox class that provides easy input of single values with support for typed values (string, numerics and dates) and type validation, format strings and a number of additional format options to make your input forms professional and not like some cheesy canned dialog. Supports both class and static method InputBox() interface. Source includes a sample form that demonstrates both.