DotVVM is an open-source framework for ASP.NET. It lets you create web apps using the MVVM pattern, with just C# and HTML.
DotVVM can be used to build new ASP.NET Core web apps, or to modernize legacy ASP.NET apps and migrate them to .NET 8.

Ready-made controls

GridView with server-side sorting and paging, FileUpload, form validation, localization, and more…

Lightweight, but powerful

Just 100kB of minified JavaScript. No dependency on WebAssembly or SignalR. Comparable productivity to Blazor.

Skip building APIs

No need for REST or gRPC. Avoid nightmares with generating client proxies. Access the data directly and use data-binding to display them.

Great fit for ASP.NET Core

Supports ASP.NET Core 3.1+ and .NET Framework 4.7.2+. Easy integration with React and other UI frameworks.

Easy to learn

Use DotVVM components in markup

DotVVM comes with ready-made components you can use in your HTML files.

Write ViewModels in C#

The state and user interactions are handled in viewmodels - C# classes.

Use CSS to style controls

The controls render simple HTML which can be styled easily.

<div class="form-group">
    <dot:TextBox Text="{value: Number}" />

    <dot:Button Text="Increment"
                Click="{command: Increment()}" />
</div>
public class IncViewModel 
{
  public int Number { get; set; }

  public void Increment() 
  {
    Number++;
  }
}
<dot:Button Text="Increment"
            Click="{command: Increment()}"
            class="btn btn-default" />
<dot:ComboBox DataSource="{value: Category}" 
    SelectedValue="{value: SelectedCategory}" />

<dot:TextBox Text="{value: OtherCategory}" 
    Enabled="{value: Category == "Other"}" />
[Required]
[EmailAddress]
public string CustomerEmail { get; set; }
<div Validator.InvalidCssClass="has-error" 
     Validator.Value="{value: FirstName}">
  <dot:TextBox Text="{value: FirstName}" />
</div>

<dot:ValidationSummary 
    class="alert alert-danger" />

Take advantage of powerful data-binding

MVVM pattern and data-binding expressions are used to access the UI components.

Validate with data annotation attributes

DotVVM integrates with common .NET validation mechanisms and practices.

Define how the validation should look like

You have plenty of options how to indicate invalid fields, for example using a CSS class.

HTML enhanced with DotVVM components

<div class="form-group">
    <dot:TextBox Text="{value: Number}" />

    <dot:Button Text="Increment"
                Click="{command: Increment()}" />
</div>

ViewModels written in C#

public class IncViewModel 
{
    public int Number { get; set; }

    public void Increment() 
    {
        Number++;
    }
}

Dotvvm Products

Boost your productivity with the ultimate tools.
Explore our products and find out how they save you hours of your time. Be effective and develop your apps in the right way.

Free

Open-source MVVM framework with built-in components
 

Complete

Build or Modernize interactive web apps with comfort you need

$525

*save $42 BUY NOW or try free trial
*save $42

Premium

The professional support provided by RIGANTI

$2995

*save $167 BUY NOW or try free trial
*save $167
DotVVM open-source framework 30+ components Validation SPA support Localization & globalization Support of .NET Core 3.1+ Support of .NET Framework 4.6.1+ Visual Studio extension DotVVM project support Syntax highlighting Basic IntelliSense Advanced IntelliSense Error checking in code editor Bootstrap for DotVVM Bootstrap 3 Bootstrap 4 Bootstrap 5 DotVVM Business Pack 30+ advanced components Theming suppor Exports to Excel SignalR messaging component Premium Support Private help desk access Guaranteed reaction time (end of next business day) Priority bug fixes Option to purchase pre-paid support hours
Most Popular

DotVVM for
Visual Studio


Visual Studio extension
  • DotVVM project support
  • Syntax highlighting
  • Basic IntelliSense
  • Advanced IntelliSense
  • Error checking in code editor

Bootstrap for
DotVVM


Bootstrap for DotVVM
  • Bootstrap 3
  • Bootstrap 4
  • Bootstrap 5

DotVVM
Business Pack


DotVVM Business Pack
  • 30+ advanced components 
  • Theming support
  • Exports to Excel
  • SignalR messaging component 

Premium
Support


Premium Support
  • Private help desk access
  • Guaranteed reaction time (end of next business day)
  • Priority bug fixes
  • Option to purchase pre-paid support hours 

DotVVM
Free

DotVVM open-source framework
  • 30+ components
  • Validation
  • SPA support
  • Localization & globalization
  • Support of .NET Core 3.1+
  • Support of .NET Framework 4.6.1+
Visual Studio extension
  • DotVVM project support 
  • Syntax highlighting
  • Basic IntelliSense

Is DotVVM a good fit for me?

Planning your next ASP.NET Core project? DotVVM is excellent for line-of-business sites, admin dashboards, or any app with lot of grids and complex forms. Want to push your legacy Web Forms app to .NET 8? DotVVM can help you migrate it incrementally with minimal changes to the code base.