例子:
using System; using System.Web; using System.IO;
using Wesoft.Sys.FrameWork.Common;
namespace Wesoft.OA.PersonalWork.InfoBase { }
}
}
//注册资源目录
Config.SystemInfo.AddFileResourceInfo(\邮件\办公自动化/个人办公/邮件/\//自动创建的系统参数
Config.SystemInfo.Parameter.AddParameter(@\,3,\代理服务器的IP\// 信息自动归档任务
Config.SystemInfo.TaskAgent.Add(new InfoCommon.InfoAutoHistoryTask()); // 自动注册系统功能
RegisterFunction2DB(\电子地图\RegisterFunction2DB(\幻灯片2\// 自动注册功能权限
RegisterFunctionRight2DB(\顶级管理员\RegisterFunctionRight2DB(\机构管理员\
RegisterFunctionRight2DB(\是否包括他人发布\
public class Initialization : Wesoft.Sys.FrameWork.Common.Base.SysModuleInitBase {
protected override void Init() {
//设置本模块的名称
this.SetInfo(\信息管理\
1.3. ascx功能模块
1.3.1. 功能基本规范
所有的开发的功能模块都必须是ascx文件,这个文件必须继承自Wesoft.Sys.FrameWork.Common.Base.FunctionTemplate,这样就可以利用框架提供的各种功能,例如:
using System; using System.Data; using System.Drawing; using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls; using Wesoft.Sys.FrameWork.Common; using Wesoft.Sys.FrameWork.Common.ToolKit;
namespace Wesoft.OA.PersonalWork.InfoBase.InfoEffect {
public class EmbedHtml : Wesoft.Sys.FrameWork.Common.Base.FunctionTemplate // 必须继承自该类 {
// 在Initialization()方法中可以做本功能的初始化动作,该方法在Page_Load事件之前执行,该方法中主要是根据需要设置功能信息、创建本功能需要的属性和权限。在这里创建的属性和权限还只有默认值,用户配置的属性与权限还得不到。
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e) {
InitializeComponent(); base.OnInit(e);
private void Page_Load(object sender, System.EventArgs e) { }
// 在此处放置用户代码以初始化页面 // 本功能的实际业务逻辑代码在此
// 此处就可以访问本功能的属性和权限,已经是用户配置过的动态实际值 String myContent = Property.getValue(―HtmlContent‖); // 得到属性值
String isManager = Right.getValue(―IsManager‖); // 得到当前用户的IsManager这个权限
}
p = Property.AddProperty(\嵌入Html代码\嵌入Html代码\增加一个属性,默认值为空 if (this.ConfigureMode) // 在页面设计模式下可以设置该属性的编辑风格,参见编辑风格 { }
Right.AddProperty(\是否管理人员\是否管理人员的权限\增加一个权限,默认值必须设置为0
p.Style = \p.AddDataItem(\编辑\
p.AddDataItem(\p.AddDataItem(\
public override void Initialization() {
base.Initialization (); // 继承执行父类方法
Property.setValue(\设置功能的ID,一般就用用命名空间代替 Property.setValue(\嵌入Html\Property.setValue(\嵌入Html\Property.setValue(\嵌入Html\Property.setValue(\
// 设置本功能的中文名称 // 设置本功能的描述信息
// 设置本功能的标题,运行时显示在班没有标题条上
// 设置本功能的访问权限模式,0-不登陆可访问;1-登陆可访问;2-授权才可访问
}
}
}
private void InitializeComponent() { }
#endregion
this.Load += new System.EventHandler(this.Page_Load);
1.3.2. 配置动态属性
在系统管理-页面管理中,设计一个功能页面,点击“配置”即可运行时动态配置功能属性。
1.3.3. 使用动态属性
在页面后台程序中随时可以访问页面属性,如:
private void Page_Load(object sender, System.EventArgs e) { }
// 在此处放置用户代码以初始化页面 if(!Page.IsPostBack) { }
string title = this.Property.getValue(\this.Label1.Value = ―功能标题:‖+ title;
1.4. 配置功能到平台中
开发好的功能必须配置到系统中才可以在平台中应用
编译好的项目运行过一次之后,在FrameModule表中会有相应的记录,请查找并记录其ID;然后打开FrameFunction表,为该功能添加一条功能记录,其中: ? ? ? ? ? ? ? ? ? ?
ID – 自动生成,表示该功能的代码;
Identifier – 功能标识符,表示功能的标志,参见功能的初始化事件描述; URL – 功能页面的地址; FunctionName – 功能的名称; Remark – 备注信息
FunctionBehave – 功能附加参数;
AccessMode – 功能模块的访问权限模式,参见功能的初始化事件描述; SerialNo – 功能的排序号码;
State – 功能的状态,1表示启用,否则不能使用;
ModuleID – 功能所属模块的ID,即上面记录下来的模块ID(对应FrameModule表)
1.5. 设计功能页面
开发出的每一个功能ascx页面都不能独立运行,必须设计一个相应的页面,才可以运行,点击“系统管理——菜单管理——页面管理”,在对应的模块下添加一个页面,点设计,选择模块列表后可以看到注册过的新功能,拖放到页面模板的相应位置,然后在该功能上右键-属性配置,可设置其属性,在其中可看到本功能模块自身添加的属性。
1.6. 发布功能页面
设计好的功能页面必须放置到系统菜单上才可以被用户点击访问,点击“菜单管理”,添加一个菜单项,关联上面设计的页面,注销重登陆后就可以看到并访问相应的功能。
二.
FunctionTemplate——功能继承基类
功能页面基类FunctionTemplate : (Wesoft.Sys.FrameWork.Common.Base.) FunctionBase:ModuleBase
系统中的所有功能页面都必须是ascx,且都必须继承自FunctionTemplate,以符合系统框架的规范。
2.1. 动态属性Property
2.1.1. ID——功能标识
功能标识
缺省:―‖
2.1.2. Name——功能名称
功能名称
缺省:―‖
2.1.3. Title——功能显示标题
功能显示标题 缺省:―‖
2.1.4. Detail——功能描述信息
功能描述信息
缺省:―‖
2.1.5. AccessMode——权限访问方式
权限访问方式
缺省:2;
0-匿名;1-登陆;2-授权
2.1.6. ActionWhenNoRight——无权限行为
无权限行为
缺省:1
0-整个页面不显示;1-页面显示,本块显示提示信息;2-页面显示,本块隐藏
2.1.7. Visible——是否显示
是否显示
缺省:1