0

我正在执行来自 GITHUB 的 Hottowel 模板和 SPA Jumpstart 源代码。

我观察到热毛巾默认模板包含控制器,它将其重定向到 Razor 视图以执行视图,如下所示。公共静态无效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 控制器,如下所示。

如果我们仅对 HotTowel 项目使用微风 webapi 控制器,我想知道视图执行是否由 durundal 或任何其他框架处理。

我是热毛巾模板的新手,所以我可能遗漏了一些小东西。

4

1 回答 1

0

HotTowell 模板基于 ASP.NET MVC 模板旨在作为具有MVC 和 Web API 控制器的 ASP.NET MVC 应用程序运行。这就是为什么当您从该模板生成应用程序时会看到两种控制器和 MVC 路由的原因。

CCJS 有不同的出发点。CCJS 基于 ASP.NET "Empty Web Application" 模板不依赖于 ASP.NET MVC

当我的单页应用程序不需要 MVC(而且他们很少这样做)时,我个人更喜欢 CCJS 方法,HotTowelette NuGet 包使它特别容易跟随 CCJS 的脚步,从一个空的 ASP.NET Web 应用程序开始。

在任何 HotTowel 应用程序中,Durandal 一个人负责管理视图的加载和显示。Razor 仅用于主网页,即显示 SPA 的下载 HTML 框架。Razor 不参与 SPA 视图本身。

于 2013-05-27T17:06:13.837 回答