Я следил за учебным пособием по модулям HelloWorld на веб-сайте Orchard, но на самом деле я не видел никаких руководств, в которых говорилось бы о создании интерактивных модулей. По сути, я просто хотел создать модуль, содержащий текстовое поле и кнопку, и когда вы нажимаете кнопку, ее метка будет отображать FizzBuzz, Fizz или Buzz в зависимости от того, делится ли число, введенное вами в текстовое поле, на 15,3 , или 5 соответственно, но я не понимаю, как это сделать. Может ли кто-нибудь указать мне в правильном направлении. Спасибо
Создать простой интерактивный модуль FizzBuzz для Orchard CMS?
Ответы (1)
Это выполнимо, и я постараюсь вам помочь :)
Разработка Orchard построена на модулях. Модули предоставляют создаваемые элементы содержимого (страницы, блоги, сообщения в блогах, виджеты и т. д.) в виде "элементов содержимого", которые содержат ряд различных "частей содержимого" — основных строительных блоков содержимого Orchard.
Если вы хотите использовать инфраструктуру рендеринга контента Orchard (например, хотите поместить форму FizzBuzz в многоразовый виджет), сначала создайте часть контента и добавьте к ней соответствующую форму ajax. Как это сделать, очень хорошо описано в документах Orchard - здесь и здесь< /а>. Я рекомендую вам скачать модуль Orchard Jumpstart, так как он содержит образцы контента (с документацией) для быстрой разработки. Я также написал статью об основных концепциях создания частей контента. эм>
Следующим шагом будет размещение логики FizzBuzz. Где? В контроллере, как и в любом другом обычном приложении ASP.NET MVC, потому что модули Orchard в основном представляют собой измененные, отдельные приложения ASP.NET MVC (области), склеенные вместе с помощью Orchard Framework. Поэтому создайте контроллер в папке /Controllers в вашем модуле, добавьте соответствующее действие, которое будет возвращать FizzBuzz/Fizz/Buzz в зависимости от опубликованного номера.
В качестве последнего шага вы должны указать форму ajax, чтобы опубликовать действие вашего контроллера и получить результаты.
Резюмируя:
- Создайте часть контента FizzBuzz и виджет, который будет содержать вашу часть контента FizzBuzz.
- Создайте контроллер и соответствующее действие, выполняющее число и возвращающее строковое содержимое.
- Скажите форме ajax в файле представления .cshtml Razor вашей части отправить в действие вашего контроллера (Ajax.BeginForm) и поместить возвращенные данные в какой-либо существующий ‹div›
ХТХ!