Создать простой интерактивный модуль FizzBuzz для Orchard CMS?

Я следил за учебным пособием по модулям HelloWorld на веб-сайте Orchard, но на самом деле я не видел никаких руководств, в которых говорилось бы о создании интерактивных модулей. По сути, я просто хотел создать модуль, содержащий текстовое поле и кнопку, и когда вы нажимаете кнопку, ее метка будет отображать FizzBuzz, Fizz или Buzz в зависимости от того, делится ли число, введенное вами в текстовое поле, на 15,3 , или 5 соответственно, но я не понимаю, как это сделать. Может ли кто-нибудь указать мне в правильном направлении. Спасибо


person Xaisoft    schedule 04.03.2011    source источник
comment
Если ответы были вам полезны - отметьте их как принятые.   -  person Piotr Szmyd    schedule 13.04.2011


Ответы (1)


Это выполнимо, и я постараюсь вам помочь :)

Разработка Orchard построена на модулях. Модули предоставляют создаваемые элементы содержимого (страницы, блоги, сообщения в блогах, виджеты и т. д.) в виде "элементов содержимого", которые содержат ряд различных "частей содержимого" — основных строительных блоков содержимого Orchard.

Если вы хотите использовать инфраструктуру рендеринга контента Orchard (например, хотите поместить форму FizzBuzz в многоразовый виджет), сначала создайте часть контента и добавьте к ней соответствующую форму ajax. Как это сделать, очень хорошо описано в документах Orchard - здесь и здесь< /а>. Я рекомендую вам скачать модуль Orchard Jumpstart, так как он содержит образцы контента (с документацией) для быстрой разработки. Я также написал статью об основных концепциях создания частей контента.

Следующим шагом будет размещение логики FizzBuzz. Где? В контроллере, как и в любом другом обычном приложении ASP.NET MVC, потому что модули Orchard в основном представляют собой измененные, отдельные приложения ASP.NET MVC (области), склеенные вместе с помощью Orchard Framework. Поэтому создайте контроллер в папке /Controllers в вашем модуле, добавьте соответствующее действие, которое будет возвращать FizzBuzz/Fizz/Buzz в зависимости от опубликованного номера.

В качестве последнего шага вы должны указать форму ajax, чтобы опубликовать действие вашего контроллера и получить результаты.

Резюмируя:

  1. Создайте часть контента FizzBuzz и виджет, который будет содержать вашу часть контента FizzBuzz.
  2. Создайте контроллер и соответствующее действие, выполняющее число и возвращающее строковое содержимое.
  3. Скажите форме ajax в файле представления .cshtml Razor вашей части отправить в действие вашего контроллера (Ajax.BeginForm) и поместить возвращенные данные в какой-либо существующий ‹div›

ХТХ!

person Piotr Szmyd    schedule 06.03.2011
comment
Спасибо, буду следить за вашими шагами и держать вас в курсе. - person Xaisoft; 07.03.2011