1. 新建一个项目如Aqioo.Article
2.修改默认命名空间为Aqioo.Modules.Article,程序集名称不变
3.修改ArticleModule.cs的默认命名空间为Aqioo.Modules.Article
4.ArticleModule.cs继承IAqiooModule->引用项目Aqioo->using Aqioo.Infrastructure;
5.引用System.Web.Routing->using System.Web.Routing;引用System.Web.Mvc(2.0版本的)->using System.Web.Mvc;
6.编写构造函数
public ArticleModule(IUnityContainer container) { this.container = container; }
7.在db_AqiooPlat数据库的aqioo.Module表中添加一条记录(SiteID:相同;ModuleType一定要填写正确,否则程序会报错)如:Aqioo.Modules.Wiki.WikiModule,Aqioo.Wiki一个是命名空间,一个是程序集,这几如果没有匹配正确,程序运行时会报错;添加记录后一定要让网站项目引用此项目,否则也会报如下错误(如果你增加一个项目不被网站引用也没有用)
8.加好之后,新建Controllers文件夹->新建一个Controller如:ArticleController.cs-->继承Controller-->using System.Web.Mvc
9.添加一个方法
public ActionResult Index() { //return Content("nihao,我这是测试"); return View(); }
10.在网站Views目录下添加一个文件夹如:Article,添加一个view(做测试用)输入:http://localhost:2360/Wiki.html
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.Routing; using System.Web.Mvc; using Aqioo.Infrastructure; using Microsoft.Practices.Unity; namespace Aqioo.Modules.Article { public class ArticleModule : IAqiooModule { private readonly IUnityContainer container; public ArticleModule(IUnityContainer container) { this.container = container; } #region IAqiooModule Members public void Initialize() { } public void Unload() { throw new NotImplementedException(); } public void RegisterRoutes(RouteCollection routes) { string[] controllerNamespaces = new[] { " Aqioo.Modules.Article.Controllers" }; routes.MapRoute( "Aticletest", "Aticletest.html", new { controller = "Article", anonymous = true, action = "Index" }, null, controllerNamespaces ); } public void RegisterCatchAllRoutes(RouteCollection routes) { } public void RegisterFilters(IFilterRegistry filterRegistry) { } public void RegisterModelBinders(ModelBinderDictionary modelBinders) { } public void RegisterWithContainer() { } #endregion } }
浙公网安备 33010602011771号