zoukankan      html  css  js  c++  java
  • mojoPortal模块开发概述

    原文:http://www.mojoportal.com/overviewofcontentfeaturedevelopment.aspx

    开发一个模块嵌入到mojoPortal系统中是很简单的,模块可以很简单,只包含一个模块控件(ContactForm.ascx模块就是一个简单的例子),也可以很复杂,需要另外的几个aspx页面来提供支持,比如论坛模块。

    模块至少要包含一个(通常也是一个)从mojoPortal.Web.SiteModuleControl继承而来的模块控件。模块控件也是嵌入到mojoPortal内容管理系统的那部分,他使得你可以添加模块实例到页面中。

    重要:当你开发的模块中(即. *.ascx文件内)使用了Postback 时,你需要在page load 或者init方法中显式的定义Page.EnableViewState=true;  因为默认设置是false ,以此来避免在不需要的时候使用Viewstate.

    在mojoPortal中,菜单中的所有页面并没有实际对应一个aspx文件。实际上只有一个页面在处理所有的请求,这个页面就是Default.aspx.这个页面根据参数中的pageid来显示相应页面。所以网址的格式是Default.aspx?pageid=x ,x代表了数据库中对应的pageID.在系统中我们也使用了友好网址进行代替,所以你可能不会看到Default.aspx?pageid=x,而是看到比如home.aspx 或者forum.aspx这样的文件。

    加载到页面中的控件是基于数据库中的数据来进行加载。对于更复杂的模块,比如论坛,模块也许会连接到相关的aspx页面,比如ForumView.aspx等。这些页面是实际存在的页面,你可以把 ModuleControl看成是一个模块的入口点,模块可能并不仅限于moduleControl内。所以模块可以有很多支持页面,所以可以建造很复杂的模块。moduleControl必须知道如何连接到相应的支持页面。

    建造一个模块,你可以在vs中右键单击某个文件夹,然后选择“添加”—“新项”—“web user 控件” ,然后你需要修改这个文件,让其继承自mojoPortal.web.SiteModuleControl. (如果你的控件不需要被多个页面加载,也可以不用继承自SiteModuleControl) . 如果你的模块需要相关的支持文件,你需要使他们继承自mojoPortal.Web.mojoBasePage.

    如果你要建立自己的模块,推荐的方法是,建立一个你自己的解决方案,这样当mojoPortal升级之后,你所做的工作不会白费。

  • 相关阅读:
    存储过程 游标 有用
    Spring框架IOC容器和AOP解析 非常 有用
    业务逻辑;完成根据自动分单结果来决定进行的相关业务处理
    业务逻辑:完成基于分区关键字匹配的自动分单业务逻辑
    业务逻辑:完成基于CRM地址完全匹配的自动分单业务逻辑
    业务逻辑:完成客户下单后前台系统的数据处理并调用后台系统服务处理业务 webservice接口调用 有用
    Spring IOC 少
    Spring IOC 巨多 非常 有用
    Spring ioc
    LeetCode -- Remove Element
  • 原文地址:https://www.cnblogs.com/wenjie/p/1699945.html
Copyright © 2011-2022 走看看