DotVVM lets you build interactive web UIs with just C# and HTML using the MVVM approach.
It simplifies building of line of business web apps and ships with many built-in controls like GridView, FileUpload, Validator and more.
The Views in DotVVM use HTML syntax with controls and data-bindings.
The ViewModels are plain C# objects with properties and methods.
You can access the ViewModel properties using {value: Name}
and call ViewModel methods using {command: Submit()}
.
<div class="form-control">
<dot:TextBox Text="{value: Name}" />
</div>
<div class="form-control">
<dot:TextBox Text="{value: Email}" />
</div>
<div class="button-bar">
<dot:Button Text="Submit" Click="{command: Submit()}" />
</div>
public class ContactFormViewModel
{
[Required]
public string Name { get; set; }
[EmailAddress]
public string Email { get; set; }
public void Submit()
{
// ...
}
}
DotVVM comes with many features including:
- A rich set of built-in controls
- Routing
- Master pages
- Advanced validation rules integrated with .NET data annotation attributes
- Support for .NET cultures, number & date formats and RESX localization
- SPA (Single Page App) support
- User controls
- MVVM with testable ViewModels and Dependency injection
- Server-side rendering
- Binding to REST APIs and patching viewmodel using static commands
- Can run side-by-side with other ASP.NET frameworks (Web Forms, MVC, Razor Pages)
- IntelliSense and tooling for Visual Studio 2019, 2022 and Code
Learn the basic principles of DotVVM in our DotVVM Academy tutorials.
The easiest way to start with DotVVM is to download DotVVM for Visual Studio and do File > New > Project.
- Free extension for Visual Studio 2019
- Free extension for Visual Studio 2022
You can also install DotVVM in existing ASP.NET projects and use it side-by-side with other ASP.NET frameworks (Web Forms, MVC, Razor Pages).
There is also dotnet new template for those who prefer command-line approach. You can get our free extension for Visual Studio Code.
DotVVM is used in production by hundreds of developers and companies. The first stable release was in June 2016.
ASP.NET Core | OWIN | |
---|---|---|
Current stable version | DotVVM.AspNetCore 4.2.* |
DotVVM.Owin 4.2.* |
Minimum runtime version | .NET 6.0 |
.NET 4.7.2 |
Minimum ASP.NET version | ASP.NET Core 6.0 |
OWIN 4.2.2 |
You can find the plans for next releases in the roadmap.
DotVVM framework is open source and will always be free to use. It's developed under Apache license.
There are also free extensions for Visual Studio and VS Code available. They are not open source, but they will also be free to use.
You can get more productive with DotVVM and support development of the framework by purchasing commercial components and tools developed by the creators of the framework:
- Bootstrap for DotVVM brings more than fifty Bootstrap 3 and 4 controls that are easy to use and integrate well with DotVVM validation and data-bindings.
- DotVVM Business Pack contains more than 30 enterprise-ready controls for large line of business web apps.
- DotVVM Pro for Visual Studio offers more features than the free extensions - IntelliSense for data-binding expressions, real-time error checking and much more.
We'll be glad to accept any contribution. It doesn't need to be a pull-request - you can help us by spreading the word about the project in a blog or a user group, fix a typo in a documentation or send us your feedback and thoughts.
You can find more info in Contribution Guidelines. We kindly ask you to respect the Code of Conduct.
Feedback is crucial to make DotVVM better. You can reach us at any time on our Gitter Chat.
This project is supported by the .NET Foundation.