如何在Cuyahoga中新增一个简单的功能模块

Cuyahoga是一个国外著名开源的网站框架,能够方便的添加新的功能模块,而不需要改动框架本身 .下面介绍为其添加一个简单模块的步骤. 建议为每个模块创建一个独立的项目,以便能生成单一的程序集. 不要在Cuyahoga.Core项目中加入任何新的模块,不然在升级新版本时会遇到麻烦. 1.创建一个名为CuyahogaSampleModule的Asp.net Web Application 默认名字空间设为:Cuyahoga.Modules.Sample, 程序集名称设为:Cuyahoga.Modules.Sample . 目录结构如下: 还需在post-build event中添加以下命令:
xcopy  / / " $(ProjectDir) " Web/ * .as?x  " $(SolutionDir) " Web/Modules/Sample/ xcopy  / / " $(ProjectDir) " Web/ * .gif  " $(SolutionDir) " Web/Modules/Sample/ xcopy  / / " $(TargetDir) " Cuyahoga.Modules.Sample.dll  " $(SolutionDir) " Web/bin/
在编译后将模块的页面,图片,程序集等文件copy到Web目录下. 2.在根目录下新增一个名为SampleModule.cs的类,作为模块的配置管理类. 这是模块的核心类 .用来存放一些不被.ascx或aspx包含的通用函数.这个类要派生自Cuyahoga.Core.Domain.ModuleBase. 代码如下 由于这是最基本的例子 所以不需要添加代码
using  System; using  Cuyahoga.Core.Domain; // 需要引用Cuyahoga.Core程序集 namespace  Cuyahoga.Modules.Sample {      public   class  SampleModule : ModuleBase     {              } }
3.在Web目录中新增一个.ascx用户控件 用来显示模块内容.     Cuyahoga是将用户控件嵌入到模板中来显示内容.我们在控件中写入"hello world".ascx.cs中的类需要继承Cuyahoga.Web.UI.BaseModuleControl.
using  System; namespace  Cuyahoga.Modules.Sample {      // 需要引用Cuyahoga.Web程序集      public  partial  class  Sample : Cuyahoga.Web.UI.BaseModuleControl     {          protected   void  Page_Load( object  sender, EventArgs e)         {         }     } }
3.在cuyahoga_moduletype表中添加一条记录,以便cuyahoga知道如何创建模块的实例     所有安装的模块都在这个表中注册.在表中添加该模块信息 分别是模块名称, 程序集名称 ,模块控制器类名,路径(web目录下的),添加日期.
insert   into  cuyahoga_moduletype(name,assemblyname,classname,path,updatetimestamp)  values ( ' sample ' , ' Cuyahoga.Modules.Sample ' , 'Cuyahoga.Modules.Sample.SampleModule ' , ' modules/Sample/Sample.ascx ' , getDate ())
这样就添加上了一个新模块 , 编译以后 在后台管理页面为一个section添加该模块 ,可以看到效果了.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值