快速开发篇:Portal Starter Kit
ASP.NET Starter Kit 中的 Portal Starter Kit (入口网站入门套件),适合 IT 专业人员不写程序快速导入入口网站解决方案.
入口网站 (Portal) 的主要功能,是将工作所需的数据汇总于一个网站,让使用者于此入口网站完成每天的工作。
框架:
框架设计需要完成的任务包括:注册、提供模块接口的主要模块以及完成系统所有Web页面基类的设计。
框架在整个系统中担负的角色和任务:
1. 能实现用户注册功能、
2. 系统主页面的设计,提供各个模块标准统一的显示界面、并提供各个模块的Web层接口,这接口信息从数据库中提取动态生成。
3.完成页面基类的设计,提供了每个页面所必需的公用信息,继承此类的页面可以直接调用这些信息和服务,而不用关心实现方法,可以大大提高开发效率,另外可以从整体上控制系统的稳定性,提高系统的灵活性,公共信息需要修改时,只要直接修改基类即可,而无需修改每个 Web页面。
Oracle
Sql Server
数据层
数据层
业务逻辑层
用户表示层
模块:
1.入口网站引擎 (模块排版)。
2.10 种常用内容的入口网站模块 (入口网站内容)。
3.以角色为基础 (Role-based) 的安全机制。
4.可外挂自订模块。
入口网站引擎 (模块排版)
当您拿到 Portal Starter Kit 并安装后,只要四个步骤,不用写程序就可以建构一个入口网站:
1. 第一个步骤,对版面加予排版。
2. 第二个步骤,规划有几个页签 (Tab) 网页。
3. 第三个步骤,规划每一个页签 (Tab) 的内容模块。
4. 第四个步骤,规划每一个页签 (Tab) 与模块的权限。
入口网站模块 (入口网站内容)
建构入口网站的第三个步骤,规划每一个页签 (Tab) 的内容模块。入口网站的内容呢?Portal Starter Kit 内建 10 种常用内容的入口网站模块,以做为入口网站的内容,包括公告、事件、Html 文件、XML/XSL、连结、快速连结、文件、讨论区、联络人、影像等模块。一个内容称为一个模块,每一个页签 (Tab) 网页可以包括许多的模块。10 种模块分别简介如下:
模块 1:公告 (Announcements)
「公告」 (Announcements) 模块,可显示生效 (截止日期前) 的公告,可设定公告的标题、详细数据链路、描述、截止日期等,
模块 2:事件 (Events)
「事件」 (Events) 模块,可显示生效 (截止日期前) 的事件,可设定事件的标题、描述、时间地点、截止日期等,
模块 3:Html 文件
「Html 文件」模块,可直接将 HTML 码显示出来,
模块 4:XML/XSL
「XML/XSL」模块,将所设定 XML、XSL 档案合并后显示出来,
模块 5:连结 (Links)
「连结」 (Links) 模块提供许多的超级链接,可设定超级链接的标题、URL、描述、检视顺序等
模块 6:快速连结 (Quicklinks)
「快速连结」 (Quicklinks) 模块与「连结」 (Links) 模块的功能相近,差别为「快速连结」不会另外开启一个新的 IE 浏览器,「连结」则会。可设定超级链接的标题、URL、描述、检视顺序等
模块 7:文件 (Document)
「文件」 (Document) 模块提供待下载的文件档案,可设定文件的名称、类别、URL 等
模块 8:讨论区 (Discussion)
「讨论区」 (Discussion) 模块可提供讨论的功能,
模块 9:联络人 (Contacts)
「联络人」 (Contacts) 模块可设定联络人的名称、角色、Email、联络方式等
模块 10:影像 (Image)
「影像」 (Image) 模块可设定影像的文件名、宽度、高度等
以角色为基础 (Role-based) 的安全机制
建构入口网站的第四个步骤,规划每一个页签 (Tab) 与模块的权限。
入口网站的权限管理功能呢?
Portal Starter Kit的权限管理,提供以角色为基础 (Role-based) 的安全机制,包括:
1. 管理员负责规划权限,只有管理员 (Admins) 可以出现 [管理员] 页签。
2. 各页签可设定那些角色具有浏览权限。
3. 各模块可设定那些角色具有编辑权限。
首先设定角色,设定方式为于 [管理员] 页签之 [角色安全] 来新增角色
可外挂自订模块
入口网站的特色,为希望把工作所需要的所有内容都放置于入口网站当中,虽然 ASP.NET Starter Kit 内建 10 种常用内容的入口网站模块,但是一定会不够用,怎么办呢?ASP.NET Starter Kit 提供让您可以外挂自订模块的功能
页面基类:
1.表示层
default.aspx、desktopdefault.aspx 和MomibleDefault.aspx页面组成。
用户自定义控件(User Controls)
l类似“子页面”
l完全封装
Ø支持嵌套控件
Ø独立的代码空间(namespace)
Ø独立的代码语言
l模块分离,控件独立工作
l在不同的页面、应用中实现代码重用
<%@ Register %> 指令
l为页面表单(Form)中注册 用户控件
在DesktopDefault.aspx页面上
<%@ Register TagPrefix="ASPNETPortal" TagName="Banner" Src="DesktopPortalBanner.ascx" %>
<ASPNETPortal:Banner id="Banner" SelectedTabIndex="0" runat="server" />
2数据层:
\Components\LinksDb.cs类 为连接数据库
public SqlDataReader GetLinks(int moduleId) {
// Create Instance of Connection and Command Object
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
SqlCommand myCommand = new SqlCommand("Portal_GetLinks", myConnection);
// Mark the Command as a SPROC
myCommand.CommandType = CommandType.StoredProcedure;
// Add Parameters to SPROC
SqlParameter parameterModuleId = new SqlParameter("@ModuleID", SqlDbType.Int, 4);
parameterModuleId.Value = moduleId;
myCommand.Parameters.Add(parameterModuleId);
// Execute the command
myConnection.Open();
SqlDataReader result = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
// Return the datareader
return result;
}
Web.config文件中
<appSettings>
<add key="ConnectionString" alue="server=localhost;Trusted_Connection=true;database=Portal" />
<add key="configFile" value="/PortalCSVS/PortalCfg.xml" />
</appSettings>