Business Pack

Unleash your developer power with a suite of controls carefully designed for use
in enterprise line of business web apps.

Don't reinvent the wheel. Just use these controls to get
first-class support of data-binding, validation and IntelliSense.

Get Trial
Show more

AutoComplete and ComboBox

Let the users select from collections using AutoComplete or ComboBox. These controls can be bound to collections in the viewmodel, or utilize server-side search if the collection would be large.

<bp:AutoComplete DataSource="{value: Countries}"
                 Text="{value: Country1}" />

<bp:ComboBox DataSource="{value: Countries}"
             SelectedValue="{value: Country2}" />

Form Controls

Select dates, numbers or choose ranges using wide variety of advanced form controls. All controls support validation and other commonly requested features.

<bp:DatePicker SelectedDate="{value: PublishDate}" />

<bp:MultiSelect DataSource="{value: HashTags}"
                SelectedValues="{value: SelectedHashTags}" />

<bp:NumericUpDown Value="{value: NumberOfPosts}"
                  MaxValue="30" />

<bp:RangeSlider SelectedMinValue="{value: MinPrice}"
                SelectedMaxValue="{value: MaxPrice}"
                MaxValue="100000" />

<p>{{value: MinPrice.ToString("c0")}}
    - {{value: MaxPrice.ToString("c0")}}</p>

GridView and DataPager

Presenting data has never been easier. The Business Pack grid and pager controls support server-side sorting, paging, custom filtering, or features like inline editing.

<bp:GridView DataSource="{value: Customers}">
    <bp:GridViewTextColumn HeaderText="Name" 
                           Value="{value: Name}" 
                           AllowFiltering />
    <bp:GridViewTextColumn HeaderText="Region" 
                           Value="{value: Region}" 
                           AllowFiltering />
    <bp:GridViewTextColumn HeaderText="Created" 
                           Value="{value: CreatedOn}" 
                           FormatString="d" />
    <bp:GridViewTextColumn HeaderText="Credit" 
                           Value="{value: CreditAmount}" 
                           FormatString="c" />
<bp:DataPager DataSet="{value: Customers}" />


Allow selection of multiple items in row or tiles selection mode with the ListView control. Define your custom templates for complex items.

<bp:ListView DataSource="{value: Fruit}"
             SelectedValues="{value: SelectedFruit}">
        <img src="{value: "/img/"+ ImageName + ".png"}"
                 alt="{value: Name}" />
        {{value: _this}}


Display hierarchical data conveniently with the TreeView control.

<bp:TreeView DataSource="{value: Files}"
             SelectedValues="{value: SelectedFiles}"
             ItemKeyBinding="{value: Name}"
             ItemHasChildrenBinding="{value: HasItems}"
             ItemChildrenBinding="{value: Items}">
        <div>{{value: Name}}</div>

Modal Dialogs

Declare ModalDialog and control it just by switching a boolean property.

<bp:Button Text="Show Dialog" 
           Click="{staticCommand: Dialog = true}" />

<bp:ModalDialog HeaderText="Confirmation" 
                IsDisplayed="{value: Dialog}">
        <p>Do you really want to delete the item?</p>
        <bp:Button Text="Delete" 
                   Click="{staticCommand: Dialog = false}" />


  • The DotVVM Business Pack license is perpetual and includes 12 months of new features and updates since the date of purchase. The license can be renewed with a 25% discount.
  • The product is licensed on per-developer basis. Every team member who is actively working with a project that uses DotVVM Business Pack must have a license.
  • Continuous integration, build servers, test, staging and production deployments do not need to have a separate license - an account of any developer can be used on CI/build servers to restore the NuGet packages.
  • The product is distributed as a NuGet package using DotVVM Private NuGet Feed.
  • The license is valid for any software project the purchasing party owns, develops or participate on.