Extend static command capabilities with JavaScript translations
Static commands are a powerful feature of DotVVM which lets you modify the viewmodel without calling the server. This is possible because DotVVM can translate some C# calls into JavaScript snippets. We don’t involve WebAssembly in this process – the translation is just a simple transform of the C# expression to a JS one, and the list of supported syntax constructs and APIs is limited.
App Modernization - Part #2: Migrate underscore.js templates and JQuery data loading
This article is the second part of the series:
App Modernization - Part #1: Migrate Web Forms code islands to DotVVM and .NET 6
This article is the second part of the series:
Using Composite Controls for the implementation of Bootstrap 5 components
You may already be aware that DotVVM 4.0 has introduced a new feature called Composite Controls, which provides a new way to write controls in DotVVM. This approach eliminates the need to declare DotVVM properties in code-only controls, for which you had to use the dotprop code snippet and work with long property declaration blocks. Instead, it only requires declaring a `GetContents` method and placing individual control properties as arguments of the method. By using this approach, the control code appears much more attractive and readable.
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.