Hottowel: Как заставить это работать с бризом?

Я собираюсь реализовать шаблон Hottowel и исходный код SPA Jumpstart от GITHUB.

Я заметил, что шаблон по умолчанию для горячего полотенца содержит контроллер, который перенаправляет его в представление 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, как показано ниже.

Я хотел бы знать, обрабатывается ли представление durundal или любым другим фреймворком, если мы используем только breeze webapi controller для проекта HotTowel.

Я новичок в шаблоне горячего полотенца, так что, возможно, мне не хватает чего-то маленького.

1 ответ

Решение

Шаблон HotTowell основан на шаблоне ASP.NET MVC и предназначен для запуска в качестве приложения ASP.NET MVC с контроллерами MVC и Web API. Вот почему вы видите оба вида контроллеров и маршрутизацию MVC при создании приложения из этого шаблона.

У CCJS другая точка отправления. CCJS основан на шаблоне ASP.NET "Пустое веб-приложение" и не зависит от ASP.NET MVC.

Когда моим одностраничным приложениям не нужен MVC (а они редко нужны), я лично предпочитаю подход CCJS, а пакет HotTowelette NuGet позволяет особенно легко следовать по шагам CCJS, начиная с пустого веб-приложения ASP.NET.

В любом приложении HotTowel только Durandal отвечает за управление загрузкой и отображением просмотров. Razor используется только для главной веб-страницы, загруженного фрейма HTML, внутри которого появляется SPA. Бритва не играет никакой роли в самих представлениях SPA.

Другие вопросы по тегам