原文链接:http://www.orchardproject.net/docs/Building-a-hello-world-module.ashx

命令行语法:http://www.cnblogs.com/esshs/archive/2011/06/09/2076129.html

启用Orachard的代码自动生成功能:orchard> feature enable Orchard.CodeGeneration

1. 生成模块结构

  输入以下命令来创建HelloWorld模块:

  启动模块命令:codegen module HelloWorld

  (Orchard实际上是为我们创建了一个VS项目(HelloWorld.csproj),这样既可以使用VS开发模块)

2. 修改清单

  修改: module.txt

3. 添加路由

  HelloWorld根目录下 新建 路由文件Route.cs

using System.Collections.Generic;
using System.Web.Mvc;
using System.Web.Routing;
using Orchard.Mvc.Routes; namespace HelloWorld {
public class Routes : IRouteProvider {
public void GetRoutes(ICollection<RouteDescriptor> routes) {
foreach (var routeDescriptor in GetRoutes())
routes.Add(routeDescriptor);
} public IEnumerable<RouteDescriptor> GetRoutes() {
return new[] {
new RouteDescriptor {
Priority = ,
Route = new Route(
"HelloWorld", // this is the name of the page url
new RouteValueDictionary {
{"area", "HelloWorld"}, // this is the name of your module
{"controller", "Home"},
{"action", "Index"}
},
new RouteValueDictionary(),
new RouteValueDictionary {
{"area", "HelloWorld"} // this is the name of your module
},
new MvcRouteHandler())
}
};
}
}
}

4. 创建控制器

  Controllers的文件夹(如果没有则创建一个),在这个文件夹中创建HomeController.cs文件

using System.Web.Mvc;
using Orchard.Themes; namespace HelloWorld.Controllers
{
[Themed]
public class HomeController : Controller
{
public ActionResult Index()
{
return View("HelloWorld");
}
}
}

5. 创建视图

  模块根目录的Views文件夹中创建一个名为Home的子文件夹。在Views/Home文件夹中,创建名为HelloWorld.cshtml的视图文件,并输入以下内容:

<h2>@T("Hello World!")h2>

6. 更新项目文件

  打开HelloWorld.csproj文件 添加:

<ItemGroup>
  <Compile Include="Routes.cs"/>
  <Compile Include="Controllers/HomeController.cs"/>
ItemGroup>

  还要添加下面这条,让视图文件也包含在项目中:

  <Content Include="Views/HelloWorld.cshtml" />

7. 激活模块

  激活模块命令:feature enable HelloWorld

8. 使用模块

  http://localhost:30321/OrchardLocal/HelloWorld

Orchard helloworld的更多相关文章

  1. Orchard入门:如何创建一个完整Module

    这是一个Orchard-Modules的入门教程.在这个教程里,我们将开发两个功能页面分别用于数据录入与数据展示. 完成上述简单功能开发,我们一共需要6个步骤.分别为: 创建Module 创建Mode ...

  2. Orchard学习笔记

    1.下载Orchard sourcrs资源文件,同时也可以去百度下载中文包 资源地址(https://github.com/OrchardCMS/Orchard/releases/download/1 ...

  3. Orchard官方文档

    开始使用 安装Orchard 通过Orchard zip文件安装 使用WebMatrix开发Orchard Dashboard总览 创建你的第一个Orchard站点 导航和菜单 添加博客 新增管理媒体 ...

  4. 使用webstorm+webpack构建简单入门级“HelloWorld”的应用&&引用jquery来实现alert

    使用webstorm+webpack构建简单入门级"HelloWorld"的应用&&构建使用jquery来实现 1.首先你自己把webstorm安装完成. 请参考这 ...

  5. Idea下用SBT搭建Spark Helloworld

    没用过IDEA工具,听说跟Eclipse差不多,sbt在Idea其实就等于maven在Eclipse.Spark运行在JVM中,所以要在Idea下运行spark,就先要安装JDK 1.8+ 然后加入S ...

  6. [翻译]Orchard如何工作

    Orchard一直是博主心中神一般的存在,由于水平比较菜,Orchard代码又比较复杂看了几次都不了了之了.这次下定决心要搞懂其工作原理,争取可以在自己的项目中有所应用.为了入门先到官网去学习一下相关 ...

  7. 菜鸟学Struts2——HelloWorld

    写在前面 自从工作后就过上了只有一个月记忆的生活,太健忘,很多学过的东西因为用得少便忘记了,第二次学习struts,为了以后便于查阅,开始自己的博客之旅.Struts的学习还是从Hello World ...

  8. 初识AngularJS 之 HelloWorld和数据绑定

    1.Hello World 我用的开发工具是   atom   ,大家有需要的话可以找我要安装包嘻嘻 第一步: 写入以下代码: <!DOCTYPE html> <html ng-ap ...

  9. java环境搭建和写出一个Helloworld

    一.安装环境和配置环境变量(必要环节) 安装java并配置环境变量 :在"系统变量"中设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击 ...

随机推荐

  1. JAVA与.NET的相互调用——通过Web服务实现相互调用

    JAVA与.NET是现今世界竞争激烈的两大开发媒体,两者语言有很多相似的地方.而在很多大型的开发项目里面,往往需要使用两种语言进行集成开发.而很多的开发人员都会偏向于其中一种语言,在使用集成开发的时候 ...

  2. BrnShop开源网上商城第二讲:ASP.NET MVC框架

    在团队设计BrnShop的web项目之初,我们碰到了两个问题,第一个是数据的复用和传递,第二个是大mvc框架和小mvc框架的选择.下面我依次来说明下. 首先是数据的复用和传递:对于BrnShop的每一 ...

  3. 普通Java类获取spring 容器的bean的5种方法

    方法一:在初始化时保存ApplicationContext对象方法二:通过Spring提供的工具类获取ApplicationContext对象方法三:继承自抽象类ApplicationObjectSu ...

  4. selenium-ide学习

    最近想把selenium给系统的学习下.主要因为它开源,且适配多个浏览器多种语言. selenium主要由selenium-ide.selenium1.selenium2.selenium guird ...

  5. SQL Server查询性能优化——覆盖索引(一)

    覆盖索引又可以称为索引覆盖. 解释一: 就是select的数据列只用从索引中就能够取得,不必从数据表中读取,换句话说查询列要被所使用的索引覆盖. 解释二: 索引是高效找到行的一个方法,当能通过检索索引 ...

  6. nyoj开心的小明

    这个问题是01背包,而对于编程之美那道是完全背包问题,在编程之美中也有一个0,1背包问题. 而且是容量是小于等于,不是等于,对于是否等于,在初始化参数时候不一样,不小于全部初始化为0,恰好等于,初始化 ...

  7. ubuntu下arm-linux-gcc安装

    我下载的地址随便找的,4.4.3版本的,地址:http://www.cr173.com/soft/42654.html#address 1.我放在了/work/tools/ 2.sudo tar  x ...

  8. malloc free 和new delete区别

    从网上看的学习之 1. malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符,与"+“.”-“.”*“.”/“有一样的地位. 2. new/delete是 ...

  9. HW5.17

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  10. BZOJ1901 - Dynamic Rankings(树状数组套主席树)

    题目大意 给定一个有N个数字的序列,然后又m个指令,指令种类只有两种,形式如下: Q l r k 要求你查询区间[l,r]第k小的数是哪个 C i t  要求你把第i个数修改为t 题解 动态的区间第k ...