App Modernization - Part #2: Migrate underscore.js templates and JQuery data loading
This article is the second part of the series:
Released DotVVM 4.1
After 8 months, we are thrilled to announce the release of DotVVM 4.1. The release contains the new DotVVM Auto UI library, numerous improvements and bug fixes, and a bunch of improvements of Composite controls which allowed us to create a brand new implementation of Bootstrap for DotVVM for Bootstrap 5.
Introducing DotVVM Application Blocks
DotVVM was always focused on improving productivity for .NET developers who build web applications.
DotVVM Tip 09: Bind multiple CheckBoxes to a collection
Building forms is really easy! To put all selected options into a collection, just bind the collection to multiple CheckBox controls.
Using web components with composite controls in DotVVM
One of the scenarios in which the new way of building controls in DotVVM – the composite controls – really excel, is when used in combination with Web components.
DotVVM Tip 08: Expressions in data-bindings are allowed
Building forms is really easy! Use the Visible property to show or hide forms fields based on values in other fields.
DotVVM Tip 07: Use ComboBox to select values from a collection
Building forms is really easy! Bind a collection of objects in the ComboBox control and let the user select the value.
DotVVM Tip 06: Validation controls
DotVVM syntax is different from Razor. The Validator control can display validation errors for a particular property. You can choose to apply CSS classes on any element based on validation state of some property.
DotVVM Tip 05: Access parent context using _parent or _root
DotVVM syntax is different from Razor. Instead of passing lambda expressions, use _root, _parent or _this expressions to reference different scopes in your viewmodel.
DotVVM Tip 04: Join CSS classes without complicated expressions
DotVVM syntax is different from Razor. Instead of concatenating fragments of CSS classes, just use class-* property and specify a boolean expression indicating whether the class shall be included or not.