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.