West Wind Toolkit

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.
West Wind Web Toolkit 1.x Compatibility
The West Wind Toolkit is based on the original West Wind Web Toolkit, but has been refactored and modularized for better separation of concerns. The new version is 98% feature compatible with the older version, but several classes have been moved into new namespaces and/or assemblies and might require some small code adjustments.
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 and Pricing

The West Wind Web Toolkit is free for personal and non-commercial use. For commercial use a license is required for each developer. A license includes unlimited distribution rights of binaries that use the provided components in the West Wind Web Toolkit. The registered license is good for all updates of the current major version (1.x) and all updates to this version are free of charge - we'll notify you of updates by email. We also offer free support on our message board. For more info on licensing please review our full license document.
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

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

Version 2.50.0 - January 21st, 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.

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

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

This tool is free for personal and non-commercial use with full access to source code and allowed modifications. Any commercial use requires licensing.
Purchase Now
For commercial use you can purchase a license in our online store.
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.