我将通过GITHUB实现Hottowel模板和SPA Jumpstart源代码。
我观察到Hot towel默认模板包含Controller,它将其重定向到Razor视图以执行视图,如下所示。 public static void RegisterHotTowelPreStart(){
// Preempt standard default MVC page routing to go to HotTowel Sample
System.Web.Routing.RouteTable.Routes.MapRoute(
name: "HotTowelMvc",
url: "{controller}/{action}/{id}",
defaults: new
{
controller = "HotTowel",
action = "Index",
id = UrlParameter.Optional
}
);
但是,在SPA Jumpstart代码中,我们没有注册任何路径,视图存在于根文件夹中,控制器是纯webapi / breeze控制器,如下所示。
如果我们只使用breeze webapi控制器进行HotTowel项目,我想知道是否由durundal或任何其他框架处理视图执行。
我是热毛巾模板的新手,所以我可能会错过一些小东西。
答案 0 :(得分:0)
HotTowell模板基于ASP.NET MVC模板,并且意味着作为ASP.NET MVC应用程序与MVC和Web API控制器一起运行。这就是您从该模板生成应用程序时看到两种控制器和MVC路由的原因。
CCJS有不同的出发点。 CCJS基于ASP.NET“空Web应用程序”模板,并且不依赖于ASP.NET MVC 。
当我的单页应用程序不需要MVC(他们很少这样做)时,我个人更喜欢CCJS方法,而HotTowelette NuGet package使得从空白ASP开始,特别容易遵循CCJS的脚步。 NET Web应用程序。
在任何HotTowel应用程序中,仅Durandal负责管理视图的加载和显示。 Razor仅用于主网页,即出现SPA的下载HTML框架。 Razor本身不参与SPA观点。