Open source ASP.NET framework
for Business Web Apps

Solid foundation for your line of business websites.
All you need to know is C#, HTML and CSS.

What Is DotVVM?

DotVVM is a component-based framework that simplifies building of enterprise web applications. It is open source, integrates with ASP.NET Core and classic ASP.NET, and comes with a neat Visual Studio integration.

Our ready-made controls will help you building your admin dashboards with large data-grids and complex forms in minutes.

  • Open source and free – even for a commercial use
  • Supports both .NET framework and .NET Core
  • Full support in Visual Studio 2015 and 2017
  • Friendly learning curve for .NET developers

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++;
    }
}

Boost Your Productivity

Ready for Enterprise Apps

DotVVM supports validation, localization, populating grids with server-side sorting and paging, file uploading, SPAs and other common requirements for business applications.

Makes You Efficient

Your time is valuable. You don't have to write the same functionality twice because of using different languages on server and client.

Easy to Learn

DotVVM is easy to learn, especially for ASP.NET, WPF and Silverlight developers. There is no need to learn dozens of JavaScript libraries, frameworks and tools. Check out DotVVM Documentation!

Visual Studio Integration

With DotVVM for Visual Studio, you will have the comfort you are used to in other .NET projects. Enjoy powerful IntelliSense and strong typing in data-binding expressions.

Interested? Learn the basics in a few short lessons!

Start Tutorial

Build your first DotVVM website today!

Download

Short videos to watch during your coffee breaks

Learn about various DotVVM features in short, 1-2 minute videos.