West Wind Toolkit for .NET

WebToolkitLogo The West Wind Toolkit is a set of general purpose and Web Utility classes provided as easy to consume packages. The toolset is also available as source code so you can pick and choose functionality from the toolset if you only need individual features.

These utility classes and components provide key productivity in day to day Web development. Many of these tools and components have been published individually in articles and blog entries on this site and there have been many requests to publish them as a supported and consolidated library, which turned into this unified toolkit that is integrated, documented and fully supported. And it's all available with full source code so you can use all of it or just portions as needed.

Here are a few examples of what the West Wind Toolkit provides:

General Utility Classes (Westwind.Utilities)

Core Web Classes (Westwind.Web)

  • CallbackHandler: Easy REST/AJAX Service service via HTTP Handler
    • Easy: Implement HttpHandler and add methods with [CallbackMethod] attribute
    • Support for custom URLs via Attribute Routing
    • Content negotiation based on Http Accept headers
    • Parameter mapping from POST data or QueryStrings
    • Pass XML or JSON data, or use query string data
    • Output JSON, XML, raw string, raw binary, streams and  bitmaps
    • Pluggable JSON serializers (Westwind, JSON.NET, JavaScript natively supported)
  • ww.jquery.js extensive jQuery client plug-in and function library.
    • Behaviors: closable, draggable, editable, centerInClient, stretchToBottom, watch Properties
    • Components: StatusBar, ToolTip, ModalDialog, HoverPanel
    • AJAX: AjaxMethodCallback, ajaxCallMethod, ajaxJson, postJson
    • JSON: Proper JSON Date deserialization support in JSON overload
  • ScriptLoader and ClientSciptProxy help with script and CSS loading from code
  • WebUtils: Url management, HTML and JavaScript text generation, encoding/decoding, GZip checking and encoding
  • Social linking: Gravatar links, Twitter and Google+ buttons
  • ResponseFilterStream: Filter or transform any ASP.NET output
  • UserState: Small component that tracks user info without having to reload entire user data. Persists in Forms Auth ticket.

Web Forms Classes (Westwind.Web.WebForms)

  • DataBinder Control: Declaritive binding of any object or data value to control properties using explicit binding syntax - no black binding magic.
  • ErrorDisplay Control: Easy way to display error messages consistently.
  • PreservePropertyControl: Allows saving of properties explicitly rather implicitly. Allows running with ViewState off and only saving what you explicitly specify.
  • Captcha: A logic based Captcha control that requires solving simple arithmetic.
  • MessageDisplay Page: Self-contained application wide message form that makes it easy to display error messages that require a new page for display.
  • AjaxMethodCallback Control for super easy AJAX callbacks to the same Page, or Controls on a Page or a CallbackHandler.
  • HoverPanel Control for dynamically loaded AJAX content that pops up over the page
  • DragPanel Control to create floating HTML elements
  • ModalDialog Control to handle display of modal content
  • jQuery UI DatePicker and AutoComplete Controls

MVC Classes (Westwind.Web.Mvc)

  • BaseController that hooks up UserState and ErrorDisplay functionality
  • ErrorController
  • : Self contained Error Page display with error.cshtml
  • ErrorDisplay Component
  • : Easy to use error display component that easily sets error messages in code can then can Render() to output styled error messages.
  • CompressContentFilter
  • : Filter attribute to handle GZip encoding of content.
  • ViewRenderer
  • : Renders an arbitrary view and model to string.

WebAPI (Westwind.Web.WebApi)

  • JsonpFormatter
  • : JsonP formatter implementation for cross-site access of APIs.
  • UnhandledExceptionFilter
  • : Returns exceptions consistently with a error object.
  • SimplePostVariableParameterBinding
  • : Allows POST variables as simple method parameters.
  • HttpRequestExtensions
  • : Easy access to QueryString, Cookies and Http Headers.

Full Source Code

All the source code for the entire toolkit is available and all samples and with all releases including the free download. We want you to have everything in your hands, so what you see is indeed what you get. You also get access to the GitHub repository for the latest live code updates in between regular releases as well as the ability to provide patches back to us in case you found a problem (horror!) or you simply think that a feature should work differently.

Licensing

The Westwind Toolkit library is a free and open source product licensed under MIT license. There's no charge to use, integrate or modify the code for this project. You are free to use it in personal, commercial, government and any other type of application. Commercial licenses are also available. All source code is copyright West Wind Technologies, regardless of changes made to them. Any source code modifications must leave the original copyright code headers intact.

Commercial Licenses

The libray is free, but if you prefer, you can also purchase a fully supported commercial license that allows for paid support options.

Some organizations require a commercial license and support in order to integrate third party software tools into their products. The commercial license provides this level of licensing. Buying a license also helps support this project and encourages further development and support. While we try to keep the project up to date on an as needed basis, even small financial incentives provide additional motivation to continue to improve and actively support this project. Think of it as a vote of confidence for continued support of the library.

There are two versions available: 
Purchase Now Single Developer License
Commercial license for a single developer. Allows unlimited runtime distribution on any number of applications and servers for a single developer.

US $149.00
Purchase Now Organization Wide License
Commercial license for an entire organization. Allows for unlimited number of developers within a single organization to use these tools. Allows for unlimited runtime distribution to any number of applications and servers.

US $499.00

Support

Free support is available on our message board and you can contact us directly for paid support, questions or customization:

Warranty Disclaimer: No Warranty!

IN NO EVENT SHALL THE AUTHOR, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THIS PROGRAM AND DOCUMENTATION, BE LIABLE FOR ANY COMMERCIAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR LOSSES SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS, EVEN IF YOU OR OTHER PARTIES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.


© West Wind Technologies, 2004-2014
Get it now!

Version 2.56 - Oct. 2nd, 2014

Download the latest release of the West Wind Toolkit including source code. (.NET 4.5)

Install individual West Wind Toolkit components directly into Visual Studio using Microsoft's NuGet component packaging.

GitHub GitHub Directly access our GitHub Repository for the latest code in between releases or to retrieve any specific point release.

Requirements
.NET 4.5
Visual Studio 2012/2010 or
Visual Web Developer 2012
Sql Server Express
(for demos only)

This toolkit licensed with the open source MIT license. Optional commercial licenses are also available.
Purchase Now
To find out more about licensing, please see the licensing section.
The full documentation for these tools are available online. You can also find this documentation provided as a CHM file with the full download of the toolkit.
Got a problem or can't figure out how something works? Try our support forum. We're here to help you get started and want to hear if something doesn't work as expected or - gulp - doesn't work correctly. We welcome your questions and feedback which in turn helps us provide a better product. See you there.