Client-Side and Server-side Controls

<< Back to Data Moving Plug-in Main Features

From a conceptual point of view all controls can be classified into two big categories: Client Controls and Server Controls. Client Controls are bound to client side javascript data and create their Html dynamically on the client side, while Html of Server Controls are rendered on the server side using data contained in a server side ViewModel.

The main advantages of server controls are:

  1. Their ”static” Html is visible to the search engines,
  2. They require less “job” on the client side so they are efficiently rendered also by low performance browsers (such as the browsers of low quality mobile devices).

On the other side client controls offer:

  1. More flexibility, and a better interaction with all other html elements of the page, which, in turn, implies a richer user experience,
  2. Less round-trips to the server, and a  lower bandwidth consumption since less data are exchanged with the server less frequently.


The Data Moving Plug-in contains both type of controls, in order to fit better the developers needs.

Data Moving Plug-in Server Controls send their input to the server, through standard or ajax posts. They support changes tracking either natively, or through the use of the TrackedListRendering and TrackedObjectRendering helpers.


Data Moving Plug-in Client Controls are based on an enhancement of knockout.js and send their input to the server, either through standard or ajax posts like Server Controls, or by exchanging JSon with the server. They support changes tracking through the javascript updatesManager class.