未央区福彩中心
金葵设计—云南网站建设\网络推广\网络营销\品牌传输\软件开发知名设计!
您当前的位置:金葵首页 > 设计前沿 > 开发技术

Orchard 系统研究:构建HelloWorld模块

文章概述:

构建一个hello world模块 本文描述了如何构建一个非常小的模块,只会显示一个Orchard“hello world”页面。 介绍 Orchard是建立在ASP.NET MVC框架?#31995;模琌rchard中的模块相当于MVC 中的Areas。MVC是一种系统划分的设计模式,它把软件系统分为三个基本部分:模型(Model)、…

文章内容涵盖:

构建一个hello world模块

本文描述了如何构建一个非常小的模块,只会显示一个Orchard“hello world”页面。

介绍

Orchard是建立在ASP.NET MVC框架?#31995;模琌rchard中的模块相当于MVC 中的Areas。MVC是一种系统划分的设计模式,它把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。M是数据,C是控制器负责处理用户交互,操作模型和最终选择用哪个视图来显示UI,V是视图仅用来呈现数据。

生成模块结构

可以通过Orchard中一个Code Generation的功能来自动创建模块代码结构。Code Generationd?#21335;?#32454;介绍可以参见《Command-Line Code Generation》或《Orchard中的命令行工具》。

 

安?#23433;?#21551;用Code Generation后,在Orchard命令行工具中输入:

codegen module MyCompany.HelloWorld

修改Manifest

 

在新创建的模块目录中可以发现一个Module.txt文件,这是一个模块清单文件。他描述了这个模块的一些基本信息,如:名称,作者,版本等。这些信息将会在系统中显示,告诉管理员这个模块的作用?#25512;?#20182;一些相关的信息。
name: HelloWorld
antiforgery: enabled
author: The Orchard Team
website: http://orchardproject.net
version: 0.5.0
orchardversion: 0.5.0
description: The Hello World module is greeting the world and not doing much more. 
features:
    HelloWorld:
        Description: A very simple module.
        Category: Sample 

这个文本文件是描述你的模块系统。 这个文件中包含的信息将用于例如在功能管理屏幕。

 

 

添加路由 

在模块根目录中添加一个Routes.cs文件,定义Url和Controller间的对应关系。由于没有相应代码生成命令,所以只能是手工输入以下代码。

 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 = 5,
                    Route = new Route(
                        "HelloWorld",
                        new RouteValueDictionary {
                            {"area", "HelloWorld"},
                            {"controller", "Home"},
                            {"action", "Index"}
                        },
                        new RouteValueDictionary(),
                        new RouteValueDictionary {
                            {"area", "HelloWorld"}
                        },
                        new MvcRouteHandler())
                }
            };
        }
    }
}

 

 

创建控制器

创建控制器HomeController.cs ,在Controllers文件夹中
using System.Web.Mvc;
using Orchard.Themes;

namespace HelloWorld.Controllers {
    [Themed]
    public class HomeController : Controller {
        public ActionResult Index() {
            return View("HelloWorld");
        }
    }
} 

这是控制器处理请求URL的HelloWorld。 默认动作,指数,是要求HelloWorld视图得到呈现。

注意主题的属性,将请求,控制器类视图被剥了皮的当前活动的主题。

创建视图

在视图文件夹中,创建一个文件夹命名为家。 在视图\主文件夹,创建以下HelloWorld。 cshtml文件:

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

这个文件是指定的核心内容我们的观点。 它周围的所有铬会增?#25317;?#21069;主题的默认布局。

注意,我们使用了辅助T函数,使得这种观点可以本地化。 这不是强制的,但它是一个很棒的手法。

添?#26377;?#25991;件到项目

我们?#36127;?#23436;成。 剩下的唯一任务是声明到系统文件的集合在动态编译模块。

打开HelloWorld。 csproj文件在一个文本编辑器,并添加以下行之后< / ItemGroup >标签:

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

还将下列代码添?#25317;絀temGroup部分,已经有其他内容标签:

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

 

激活模块

最后,您需要激活您的新模块。 在命令行中,键入:

feature enable HelloWorld 

你?#37096;?#20197;做这个从“功能”屏幕在网站的管理界面。

使用模块

你现在可以添加/ HelloWorld到你的网站的URL在您最喜爱的网站Orchard浏览器和得到一个漂亮的Hello World消息:

The UI for our completed module

结论

在本教程中,我们已经构建了一个非常简单的模块,处理一个路线(/ HelloWorld)通过主控制器的行动和提供一个简单的索引视图被剥了皮的当前主题。 我们已经这样做了,只有免费的工具,不同的很少,你会做什么在一个常规ASP。 净MVC区。 我们确?#31561;?#19968;些东西免费通过这样的一个Orchard模块,如激活/失活的模块或主题的观点,不需要我们的部分。

希望这将让您开始Orchard和准备您构建更复杂的模块。

原创文章请注明转载自云南网站建设-金葵设计, 本文地址:http://www.cacubj.tw/article/show/151.aspx

关键字:

<上一篇

您可以直?#25317;?#20987;下方按钮开始咨询,我们很高兴为您服务。
(无QQ用户?#37096;?#20197;直接对话)

您好,请问需要设?#21697;?#21153;吗!
如有需要请联系

我们的联系方式:

给我们留言:

  • 您贵姓:
  • 您手机*:
  • 设计内容:
  • 验证码:
未央区福彩中心