APP下载

通用自助式网站开发

2013-12-29方木云

长春师范大学学报 2013年6期
关键词:动态显示字段菜单

姜 伟,方木云

1 通用自助式网站系统设计思想

1.1 需要解决的问题

易懂、通用的自助式网站系统,需要解决以下几点问题:网站各子站风格必须统一,接近于主站;实现导航栏菜单和logo的自助式动态设置,达到有限增加页面,用户自己设置网站,开发者轻松的目标;建立网站的通用类型模版。

1.2 系统应用逻辑和通用框架的建立

1.2.1 系统应用逻辑

网站采用B/S(Browser/Server)结构,客户端用户使用浏览器进行访问,服务器端采用3层架构,包括表示层、应用层和数据层。表示层负责对应用的展示,提供二级网站服务的发布,包括教学网站、职能网站、教学网站及部门网站等;应用层封装业务逻辑,实现网站群的站点及站点资源管理、用户及用户权限的管理、信息采集及发布的管理等;数据层提供联机事务处理,实现数据的统一访问。

1.2.2 自助式网站建设框架设计

网站页面采用上、中、下3层框架设计,Top.aspx显示logo和导航栏,主页显示页面,Bottom.aspx显示版权信息,所有主页使用统一的Top.aspx;logo和导航栏通过一定的逻辑方法动态显示。建立公共网页目录Publicpage,存储所有自助式网站部分功能模板,根据所送参数,使模板页显示出需要显示的效果。

2 数据库设计

使用SQLSERVER 2005,在主站原数据库基础上,建立两张相关的表TopMenu和Publictable。

2.1 菜单表TopMenu

菜单表TopMenu起到动态控制导航栏菜单的作用。其中,leibie字段为部门标识,比如A部门是020,B部门是021。OID字段标识该导航栏菜单的级别和顺序,当OID为100、200…(100倍数)时,该菜单为顶级菜单显示,否则为二级菜单显示。MenuText字段标识为导航栏菜单在IE上显示的内容。URL字段标识菜单链接地址,如morepublic.aspx是目录publicpage下的公共页模版,p和q送出MenuText和leibie参数。Parented字段为0表示顶级菜单,为-1是子菜单,该字段可以被看作OID字段的补充(图1)。

2.2 通用表Publictable

通用表publictable以leibie字段和MenuText字段为外键,达到约束模板页通用部分显示内容的效果。

3 系统程序设计与算法

3.1 实现Logo的动态显示

关于实现logo动态显示的问题,我们使用了一个小技巧:因为站点每个子站都拥有自己独有的leibie字段,所以把Logo以leibie.jpg的形式保存在/image目录下,例如A部门的logo命名为020.jpg,B部门为023.jpg……以此类推。然后在Top.ascx.cs的Page_Load事件中,加入赋值img=Request[“q”].ToString();。在Top.ascx中,在Logo显示处写入html代码.jpg”>。这样就实现了Logo的动态显示。

3.2 实现导航栏的动态显示

实现导航栏的动态显示,还是从leibie字段入手。先在Top.ascx中,建立一个Literal控件显示导航栏,然后在Top.ascx.cs的程序中,建立一个对应Literal控件Text属性的公有对象getTopMenu()。对象中实现对TopMenu表leibie字段的一个动态查询,然后再对Parented字段进行一个条件判断:若是顶级菜单,则通过MenuContent.Append方法输出一个

    ;若是子菜单,输出一个
  • 加上导航栏名。

    算法:(1)定义变量leibie=Request[“q”];pub=-1;(2)建立数据库连接myConnection设计;(3)建立新的DataTable dt;实现对TopMenu表基于leibie字段等于变量leibie的查询,查询语句如下:SELECT*FROM TopMenu WHERELeibie=”+leibie+”ORDERBY OID;(4)在html代码中输出一个

  • 标记。(5.2)若当前ParentID字段等于0且没有循环到最后一行,则在html代码中输出
标记,再输出显示内容等于当前MenuText字段值、指向链接为当前row字段值的
  • 标记和
      标记头,最后将当前的ParentID赋给pub变量。(5.3)若5.2不成立,则在html代码中输出显示内容等于当前MenuText字段值、指向链接为当前row字段值的标记。

      3.3 通用自助式页面的实现

      自助式页面的实现采用的是送参数到模板页的方法,即将leibie字段和MenuText字段的参数传递到公共页morepublic.aspx,然后公共页morepublic.aspx根据leibie字段和MenuText字段在通用表Publictable的映射,完成自助式页面在IE上的体现。

      3.4 后台管理程序设计

      针对后台管理程序设计,采用管理员权限分职责的办法。即将用户名字段和leibie字段绑定,实现中心每个部门和系部都有且只有一个管理员账户;中心另外设定一个超级管理员账户,可以管理中心所有部门管理员账户。同时,为了提高网站的安全性能,后台程序设计作出两点安全措施:(1)针对管理员账户密码,采用Md5方式加密,有效防止黑客通过入侵数据库服务器获取管理员密码。(2)后台程序登陆成功后,实现管理员离开计算机又没有关闭后台管理页面时,后台管理页面自动超时关闭。

      4 结语

      易懂、通用自助式网站系统的开发,着重于体现建站迅速、有限级扩展站点、对网站管理人员要求低的特点,有效提高了网站群中信息的信息资源利用率,实现了资源互补,同时节约了开发时间,减少了维护工作量。

      图1 OID关系表

      [1]沈俊.高校网站群的建设和方案浅谈[J].价值工程,2010(5):200-201.

      [2]范江波.聚焦二级网站内容管理[J].中国教育网络,2010(2):76-78.

      [3]杨迎新,赵骥.基于ASP.NET架构WEB应用程序中数据加密的几种方法[J].计算机安全,2009(10):54-56.

  • 猜你喜欢

    动态显示字段菜单
    图书馆中文图书编目外包数据质量控制分析
    中国新年菜单
    单片机控制的四位数码管动态显示编程
    基于单片机的LED大屏幕显示的设计
    本月菜单
    数码管动态显示Proteus 仿真失败分析
    “摇摇棒”为大学生涯画个七彩圆*——”基于单片机的LED动态显示装置”的创作报告
    CNMARC304字段和314字段责任附注方式解析
    无正题名文献著录方法评述
    关于CNMARC的3--字段改革的必要性与可行性研究