Project Description
The purpose of this project is to demonstrate aspects of both the DialectSoftware.Web.UI.CustomControls and the DialectSoftware.Web.JsAPI

The assemblies are available through NuGet

These assemblies are free for you to use under the Creative Commons

These classes allow you to build UserControls that support Templating and DataBinding and emit client-side JavaScript object graphs of your server-side controls. This allows you to encapsulate client and server behavior in a single source. It also allows others to discover client-side properties and behaviors of your controls through natural C# syntax.


UserControls were a great idea. However, due to their lack of support for Templating and DataBinding, their promise of reusability, in my opinion, was never quite realized. These libraries compenstae for these shortcomings and extend the UserControl to support both DataBinding and Templating (just like a Repeater Server Control).


Wouldn't it be nice if, as ASP.NET developers, we could express both the client-side and the server-side behavior of our controls in a more seamless manner? As it stands now we have disparate JavaScript files representing all or part of our client-side component behavior, intermixed with the occasional in-line script emitted from ASP.NET, and our server-side behavior in code behind. It’s not difficult for all of it to get out of sync and it is difficut to identify and consume existing client-side behavior. The JsApi was created to allow component developers to express their client-side and server-side behavior in a single code base. In essence it automatically generates the client-side representation of your server-side object as a JavaScript class. You have complete control over how or even if the JavaScript is emitted. Client-side behavior is described using attribution in C# and the JsApi generates the corresponding client-side representation.


Technology Stack


Last edited Nov 7, 2012 at 10:14 AM by ekeratbellsouth, version 26