为Orchard CMS构建一个简单的交互式FizzBu​​zz模块?

Xai*_*oft 3 c# asp.net asp.net-mvc orchardcms asp.net-mvc-3

我在Orchard的网站上关注了HelloWorld模块教程,但我没有看到任何关于创建交互式模块的教程.基本上,我只想创建一个包含TextBox和Button的模块,当您单击按钮时,它标签将显示FizzBu​​zz,Fizz或Buzz,具体取决于您输入文本框的数字是否可被15,3整除,或分别为5,但我不清楚如何做到这一点.有人能指出我正确的方向.谢谢

Pio*_*myd 5

这是可行的,我会尽力帮助你:)

Orchard开发是围绕模块构建的.模块以"内容项"的形式提供可创建的内容元素(页面,博客,博客帖子,小部件等),其包含许多不同的"内容部分" - 基本的Orchard内容构建块.

如果您想利用Orchard内容呈现框架(例如,想要将您的FizzBu​​zz表单放在可重用的小部件中) - 您应首先创建内容部分并向其添加适当的ajax表单. 如何做到这一点在Orchard docs中得到了很好的描述- 这里这里.我鼓励您抓住Orchard Jumpstart模块,因为它包含样本内容部分(带文档)以便快速开发.我还写了一篇关于内容部分创建背后的基本概念的文章.

下一步是将FizzBu​​zz逻辑放在某处.哪里?在控制器中,与任何其他普通的ASP.NET MVC应用程序一样,因为Orchard模块基本上是由Orchard Framework粘合在一起的分离的ASP.NET MVC应用程序(区域).因此,在模块的/ Controllers文件夹中创建控制器,添加相应的操作,根据发布的数量返回FizzBu​​zz/Fizz/Buzz.

作为最后一步,您必须指向ajax表单以发布到控制器操作并检索结果.

总结:

  1. 创建一个包含FizzBu​​zz内容部分的FizzBu​​zz内容部件和小部件.
  2. 创建一个控制器和适当的操作数字并返回一个字符串内容.
  3. 告诉你部分的.cshtml Razor视图文件中的ajax表单发布到你的控制器动作(Ajax.BeginForm)并将返回的数据放在一些现有的<div>中

HTH!