2

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

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

我错过了这个“HotTowel”模板的一些内容吗?我安装的是旧版本吗?如果这个模板甚至没有真正使用 asp.net,它有什么了不起的?

4

2 回答 2

1

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

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

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

于 2013-05-15T23:34:29.503 回答
1

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

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

于 2013-05-16T00:26:43.947 回答