App Modernization - Part #1: Migrate Web Forms code islands to DotVVM and .NET 6

by Milan Mikuš | May 18, 2023

This article is the second part of the series:

Using Composite Controls for the implementation of Bootstrap 5 components

by Maxim Dužij | March 21, 2023

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

by Tomáš Herceg | December 12, 2022

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

by Tomáš Herceg | December 05, 2022

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

by Tomáš Herceg | December 05, 2022

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

by Tomáš Herceg | November 28, 2022

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

by Tomáš Herceg | November 21, 2022

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

by Tomáš Herceg | November 14, 2022

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

by Tomáš Herceg | November 07, 2022

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.