快速开发篇:Portal Starter Kit
ASP.NET Starter Kit 中的 Portal Starter Kit (入口网站入门套件),适合 IT 专业人员不写程序快速导入入口网站解决方案.
入口网站 (Portal) 的主要功能,是将工作所需的数据汇总于一个网站,让使用者于此入口网站完成每天的工作。
框架: 框架设计需要完成的任务包括:注册、提供模块接口的主要模块以及完成系统所有Web页面基类的设计。 框架在整个系统中担负的角色和任务: 1. 能实现用户注册功能、 2. 系统主页面的设计,提供各个模块标准统一的显示界面、并提供各个模块的Web层接口,这接口信息从数据库中提取动态生成。 3.完成页面基类的设计,提供了每个页面所必需的公用信息,继承此类的页面可以直接调用这些信息和服务,而不用关心实现方法,可以大大提高开发效率,另外可以从整体上控制系统的稳定性,提高系统的灵活性,公共信息需要修改时,只要直接修改基类即可,而无需修改每个 Web页面。
模块: 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>
|