我一直在阅读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的服务器控件和数据绑定:
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和项目模板.