ASP.Net MVC HotTowel模板的目的是什么?

时间:2013-05-15 23:20:04

标签: asp.net-mvc-4 hottowel

我正在开始单页应用程序并审查各种模板和项目等,以决定一个作为起点。我使用默认的微软模板设置了一个新项目,我看到了mvc控制器,视图等,就像我期望的mvc应用程序一样。

然后我读到了一些新的社区模板,所以我也想尝试一下。我读了很多关于“热毛巾”的文章。首先,我的Visual Studio拒绝向我展示模板。我阅读了很多其他人遇到这个问题但没有修复。所以我必须从John Papa的网站上手动安装HotTowel模板。我生成一个新的启动项目并运行它。看起来不错。我开始查看代码,但现在我正在摸不着头脑。这是什么?这里没有asp.net mvc,除了默认控制器中有一个空索引操作。没有一个单一的C#模型。主模板只有一个剃刀视图!这看起来像应用程序中的应用程序。其中的主要内容甚至安装在与asp.net无关的另一个SUBDIRECTORY中! Asp.net mvc用于启动第一页,但在那之后,再也没有asp.net mvc了,它只是原始的html和js。感觉更像asp.net mvc正在阻碍它!

我错过了关于这个“HotTowel”模板的内容吗?我安装了旧版本吗?如果它甚至没有真正使用asp.net,那么这个模板有什么好处?

2 个答案:

答案 0 :(得分:1)

欢迎使用单页应用程序。这是方法的重点 - 服务器只负责以json或xml格式提供数据,通常是通过ajax。所有UI相关逻辑都是使用javascript在客户端完成的。

顺便提一下,有许多客户端框架可以使客户端开发更容易。淘汰这个模板是基于它只是其中之一,而不是我个人的最爱。我使用angular进行所有客户端开发。它涵盖了比淘汰更多的基础,相同的功能通常需要更少的代码。

另一个有趣的事情是SPA完成权限允许将您的开发分成两个独立的轨道 - 客户端和服务器端。并且您可以并行进行开发,特别是您可以使用nodejs轻松创建模拟服务器,这将为您提供必要的数据,而无需运行IIS或处理数据库。

答案 1 :(得分:1)

您可能需要查看Fluent Knockout Helpers https://github.com/johnculviner/FluentKnockoutHelpers

它使用强类型剃刀视图代码生成Knockout代码,通过数据注释进行验证等等。这是DurandalJS,Knockout和ASP.net MVC的一个很好的例子。