Release 1.5.0

  • Added:
    • The new Client Blocks feaure of Views. Now a whole View or or a portion of it can be marked as a Client Block together with its children partial views or templates. The part of ViewModel associated to a Client Block, is rendered in javascript, and it is bound to the Html of the Client Block according to the same name conventions used by the default model binder. A Client Block is designed exactly in the same way as a a normal porton of a View, but now all processing may take place on the client side: modifications done in javascript on the model are immediately reflected on the page and vice versa. When, the page is submitted the client side View Model is put back in the server side View Model (in a way that is transparent to the developer). Both client side validation, sever side validation, and metadata works exactly in the same way as for normal Views. In other terms the whole operation is transparent to the developer, ...with the only difference that now he can handle a part of the ViewModel also on the Client Side. The Client Blocks feature is built on top of the the old Client side View Model feature of the Mvc Controls Toolkit, so the developer may add also further bindings manually with Mvc Controls Toolkit bindings helper(IBindingsBuilder<T> interface). However now the  IBindingsBuilder<T> interface that is needed to define the bindings can be obtained from any helper in the Client Block by calling the extension method:  Html.ClientBindings(). All standard helpers can be used in a Client Block, also  the complex DualSelectBox and Dropdowns orListBoxes. The only exception : DataGrid, SortableListFor and TreeView,(Actually the TreeView can be used in display only mode), that are all substituted by a sofisticated client side repeater called ClientBlockRepeater. In a couple of monthes a client side version of all this controls will be released in an Mvc Controls Toolkit plugin together with other new amazing controls. All client side bindings example of the Mvc Controls Toolkit have been re-written in a very simple way with the help of the new Client Block Feature. See a basic examplke about Client Blocks at the end the main View here, and its associated tutorial here. See the examples about the ClientBlocRepeater and Client-Side templates  here, and their associated tutorials:
      Low BandWidth Transfers with The Client Side Templates of the Mvc Controls Toolkit ,  Handling Big Amounts of Data with Client-Side Templates Handling Big Amounts of Data with Client-Side Templates 2. 
    • The new MvcControlsToolkit_TreeView_MoveAppend js method for the TreeViews, that removes a node from its location and append it at the end of the list of  the children of a new father(it is necessary to move nodes to an empty list). see here.
    • The NewHtmlCreated js event to the DataGrid. Due, to the changes tracking feature of the DataGrid, the Html of a new row is not created when a new row is added. This new event triggeres when the Html of a new row is created. It is a good opportunity for the developer to add some jQuery features to the newly created row (it is similar to the ready event for the whole page). Other controls doesn't need this event, because the new Html is created when the new element is added. see here.
    • Improved the ChoiceList structure that now allows also the selection list of a dropdown to be chosen with a lambda expression. See here. This feature gives the opportunity to bind also the list items or a drop down or a list box to a client side ViewModel when a drop down or list box is rendered in a Client Block. For an example see th ClientViewModelExample View ithe example project here.
    • Improved the AcceptViewHintAttribute controller filter. Now a client can specify not only the name of a View or Partial View it prefers, but also to receive just the rough data in Json format. see here.  See here an example where a client require more pages of data in json format by exploiting this feature.
    • Now the the SMinimum and SMaximum parameters of the DateRangeAttribute accepts alos "Today" and "Now" as date.
  • Fixed:
    • Issue with partial thrust. Sometimes an exception were thrown when the Mvc Controls Toolkit run in partial thrust.
    • Client handling of conditional attributes. Sometimes, the error state of a field with a conditional validation were not updated after the change of the field it depends on.
    • Bug in TreeView node moves(introduced in the previous release) that sometimes were not reflected on the server
    • An issue in the Mvc3 Nuget package that wasn't able to uninstall properly 
    • A bug in the persistency option of the TreeView

Last edited Nov 15, 2011 at 1:30 PM by frankabbruzzese, version 1


No comments yet.