Built-in controls
DotVVM ships with about 25 built-in controls that cover most frequent scenarios. Some of them are just wrappers for standard HTML elements (inputs and various form elements), some offer complex functionalities (rendering tables with data).
The built-in controls are universal and do not include any styles or themes. They render simple HTML that can be easily styled by CSS.
If you plan to build a larger application, check out our commercial components - they offer advanced functions as well as customizable themes:
- DotVVM Business Pack - an enteprise-grade set of components with customizable look & feel
- Bootstrap for DotVVM - easy-to-use DotVVM wrappers for Bootstrap 3, 4, and 5
Form controls
- Button -
buttonorinput[type=button]that triggers a postback - ComboBox - standard HTML
selectwith advanced binding options - CheckBox - standard HTML
input[type=checkbox] - FileUpload - renders a stylable file upload control with progress indication
- HtmlLiteral - renders a HTML content in the page
- Label - renders a
labelelement for a specified form control, ensuring a unique control ID - LinkButton - a hyperlink that triggers the postback
- ListBox - standard HTML
selectlist that allows selecting a single value - Literal - renders a text in the page, supports date and number formatting
- ModalDialog - allows to display a modal dialog using the
<dialog>HTML element - MultiSelect - standard HTML
selectlist that allows selecting multiple values - RadioButton - standard HTML
input[type=radio] - RouteLink - renders a hyperlink that navigates to a specified route with specified parameters
- TextBox - HTML
inputortextarea
Validation
- Validator - displays a validation error for particular field
- ValidationSummary - displays a list of validation errors
Collections and data
- DataPager - displays a list of pages in the grid
- HierarchyRepeater - repeats a template for each item in the collection, with support for recursive child items
- GridView - displays a table grid with sort and inline edit functionality
- Repeater - repeats a template for each item in the collection
- EmptyData - displays a content when a collection is empty
Master pages
- Content - defines a content that is hosted in
ContentPlaceHolder - ContentPlaceHolder - defines a place where the content page is hosted
- SpaContentPlaceHolder - a
ContentPlaceHolderwhich works as a Single Page Application container
Conditional views
- AuthenticatedView - displays some content to the authenticated users only
- ClaimView - displays some content if the current user has a particular claim
- EnvironmentView - displays some content in a particular environment (e.g. Debug, Production)
- RoleView - displays some content if the current user is in a particular role
Other controls
- AlternateCultureLinks - renders
<meta>tags pointing to localized versions of the current page - InlineScript - includes an inline JavaScript snippet in the page
- JsComponent - allows hosting components implemented in React, Svelte, or other frameworks
- NamedCommand - provides a way to call a server commands from JavaScript code
- PlaceHolder - allows to wrap any content without rendering any HTML element
- RequiredResource - includes a script or style resource in the page
- TemplateHost - used when building Composite controls to host a template passed by the user
- UpdateProgress - displays specified content during the postback
DotVVM Contrib
There is also a DotVVM Contrib repository which features various community-authored components. Anyone can contribute to the repository and submit their own controls.
- BootstrapColorpicker
- BootstrapDatepicker
- CkEditorMinimal
- CookieBar
- EditableForm
- FAIcon
- GoogleAnalyticsJavascript
- GoogleMap
- HeroIcon
- LoadablePanel
- MultilevelMenu
- NoUiSlider
- PolicyView
- PolymorphTemplateSelector
- QrCode
- Select2
- SvgParser
- TemplateSelector
- TypeAhead