ASP.NET Webforms的MVVM模式?

thi*_*eek 27 asp.net mvvm

我正在寻找ASP.NET的MVVM实现.我该怎么做呢?您能否提出解决此问题的任何设计,尤其是ASP.NET Webforms?

谢谢.

Ble*_*ahu 10

看看CodePlex上的ASP.NET MVVM.

框架作者还在Presentation Model in Action中对它进行了一些讨论.


Tom*_*ceg 10

试试DotVVM.

它与Web窗体不兼容,但它共享其原理(回发,服务器控件等),它解决了它们最大的问题(干净的HTML,没有viewstate,可测试的视图模型),它支持完整的.NET Framework(通过OWIN)和.NET核心.

您甚至不需要编写任何javascript,它在后台使用Knockout JS,该框架为您解决了有关客户端 - 服务器通信的所有问题.

它还有一个很好的Visual Studio集成,它是开源的.

视图看起来像这样:

<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>
Run Code Online (Sandbox Code Playgroud)

而viewmodel是纯C#类.

public class ContactFormViewModel 
{
    public string Name { get; set; }
    public string Email { get; set; }

    public void Submit() 
    {
        ContactService.Submit(Name, Email);
    }
}
Run Code Online (Sandbox Code Playgroud)