Orchard helloworld
原文链接: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的更多相关文章
- Orchard入门:如何创建一个完整Module
这是一个Orchard-Modules的入门教程.在这个教程里,我们将开发两个功能页面分别用于数据录入与数据展示. 完成上述简单功能开发,我们一共需要6个步骤.分别为: 创建Module 创建Mode ...
- Orchard学习笔记
1.下载Orchard sourcrs资源文件,同时也可以去百度下载中文包 资源地址(https://github.com/OrchardCMS/Orchard/releases/download/1 ...
- Orchard官方文档
开始使用 安装Orchard 通过Orchard zip文件安装 使用WebMatrix开发Orchard Dashboard总览 创建你的第一个Orchard站点 导航和菜单 添加博客 新增管理媒体 ...
- 使用webstorm+webpack构建简单入门级“HelloWorld”的应用&&引用jquery来实现alert
使用webstorm+webpack构建简单入门级"HelloWorld"的应用&&构建使用jquery来实现 1.首先你自己把webstorm安装完成. 请参考这 ...
- Idea下用SBT搭建Spark Helloworld
没用过IDEA工具,听说跟Eclipse差不多,sbt在Idea其实就等于maven在Eclipse.Spark运行在JVM中,所以要在Idea下运行spark,就先要安装JDK 1.8+ 然后加入S ...
- [翻译]Orchard如何工作
Orchard一直是博主心中神一般的存在,由于水平比较菜,Orchard代码又比较复杂看了几次都不了了之了.这次下定决心要搞懂其工作原理,争取可以在自己的项目中有所应用.为了入门先到官网去学习一下相关 ...
- 菜鸟学Struts2——HelloWorld
写在前面 自从工作后就过上了只有一个月记忆的生活,太健忘,很多学过的东西因为用得少便忘记了,第二次学习struts,为了以后便于查阅,开始自己的博客之旅.Struts的学习还是从Hello World ...
- 初识AngularJS 之 HelloWorld和数据绑定
1.Hello World 我用的开发工具是 atom ,大家有需要的话可以找我要安装包嘻嘻 第一步: 写入以下代码: <!DOCTYPE html> <html ng-ap ...
- java环境搭建和写出一个Helloworld
一.安装环境和配置环境变量(必要环节) 安装java并配置环境变量 :在"系统变量"中设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击 ...
随机推荐
- js正则表达式及代码
//校验是否全由数字组成function isDigit(s){var patrn=/^[0-9]{1,20}$/;if (!patrn.exec(s)) return falsereturn tru ...
- ashx文件结合ajax使用(返回json数据)
ashx文件返回json数据: public void ProcessRequest(HttpContext context) { context.Response.ContentType = &qu ...
- HDU5654xiaoxin and his watermelon candy 离线+树状数组
题意:bc 77div1 d题(中文题面),其实就是询问一个区间有多少不同的三元组,当然这个三元组要符合条件 分析(先奉上官方题解) 首先将数列中所有满足条件的三元组处理出来,数量不会超过 nn个. ...
- We're Hiring A Software Tester
测试人员的基本修养: 代码编写,不可或缺 乔布斯说:Design is not just what it looks like and feel like,design is how it works ...
- 【HTML】Intermediate2:Text: AbbreviationsQuotations Code
1.</abbr> attribute:title 2.Quotations blockquote :standalone often multi-line quotations-cite ...
- Storm系列(四)Topology提交校验过程
功能:提交一个新的Topology,并为Topology创建storm-id(topology-id),校验其结构,设置必要的元数据,最后为Topology分配任务. 实现源码: 1 ); Conf ...
- 如何自己编译生成Eclipse插件,如hadoop-eclipse-plugin-2.2.0.jar
如何自己编译生成Eclipse插件,如hadoop-eclipse-plugin-2.2.0.jar http://cxshun.iteye.com/blog/1876366 大数据是当今的一个热门话 ...
- URL参数带中文,后台接收乱码解决方案
1.前台中文参数用encodeURIComponent()进行编码,如: var textName= encodeURIComponent(name); 2.对整个URL用encodeURI()进行编 ...
- javascript闭包详解
以前写过一篇关于javascript闭包的随笔,javascript闭包,但是写的不够详细,也没有体现出闭包的强大之处.故作此篇. 众所周知,javascript没有块级作用域,只有函数作用域.那就意 ...
- 对css中的浮动属性float刨根解牛
1.浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止. 脱离常规流,由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样. 2.几张图说明浮动常 ...