DotVVM是基于 Knockout JS 的基于 ASP.NET 的开源 MVVM 框架。它使用简单,您不必编写大量的 Javascript 代码。对于大多数情况,您只需要 C# 和带有 CSS 的 HTML。
视图看起来像这样 - 它是一个扩展了服务器控件和数据绑定的 HTML:
<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>
viewmodel 是一个 C# 类,如下所示:
public class ContactFormViewModel
{
public string Name { get; set; }
public string Email { get; set; }
public void Submit()
{
ContactService.Submit(Name, Email);
}
}
还有Visual Studio Extension,它添加了 IntelliSense 和项目模板。
该框架处理验证、本地化、SPA 和其他常用功能。它同时支持 .NET Framework 和 .NET Core。