.net – 用于Web开发的MVVM

我一直在阅读MVVM,到目前为止已经发现它非常有趣.但是,我发现的大多数示例都适用于 Windows应用程序,而不是Web应用程序.我也看到很多提到与Silverlight一起使用的MVVM,我知道Silverlight可以用于Web或Windows应用程序.

所以我的问题是 – MVVM是基于Web的应用程序的有效模式吗?如果是,UI必须是Silverlight吗?我正在决定将哪些技术用于我们需要设计的新中型网站,而Silverlight可能是对权力的硬性销售 – 尽管我们在幕后使用的无关紧要非常.

任何人都可以在网络环境中使用MVVM提供的任何信息都将受到赞赏.示例代码也很棒.

DotVVM是一个基于ASP.NET的开源MVVM框架,基于Knockout JS.它使用简单,您不必编写大量的Javascript代码.对于大多数情况,您只需要C#和HTML与CSS.

视图看起来像这样 – 它是一个扩展了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.

相关文章
相关标签/搜索