基于ASP.NET的栏目设计与管理

时间:2022-07-21 09:43:43

基于ASP.NET的栏目设计与管理

摘要:本文主要以用户控件的形式设计网页中栏目,阐述设计过程和用法,以类似组件的形式设计和使用栏目,达到提高网站建设中网页设计的水平和效率。

关键词:栏目;用户控件;Repeater/Data List;栏目管理

中图分类号:TP311 文献标识码:A文章编号:1007-9599 (2011) 14-0000-02

’s Column Design and Management

Huang Hantang

(Qiannan Normal College for Nationalities,Duyun558000,China)

Abstract:This paper mainly discusses the design process and usage of designing columns in a web page in the form of a user control―designing and using column in the form of similar module,thus aiming at improving the level and efficiency of web design in website construction.

Keywords:Column;User control;Repeater/Data List;Column management

在网站建设中导航、菜单和栏目是网页设计的重要元素,其中的栏目设计在网页设计中有着重要的作用,主要用于网页版面的信息组织,在以往的设计中主要采用传统的表格+超链接的形式实现,如要实现栏目内容的动态管理,只能采用遍历数据集合的形式来实现,设计人员往往为栏目的设计煞费苦心,对栏目的结构、色彩、字体、链接等等都要经过仔细的调试,随着技术的推出,在NET环境中栏目的设计发生了较大的变化,采用了Repeater或Data List对象与表格等对象设计成用户控件,在网页中直接使用设计好的用户控件,提高WEB程序设计的通用性和效率。

一、对象的特点和选用

栏目主要以列表的形式实现,Repeater或Data List都可以配合Table和Hyper Link实现相应功能,Repeater与Data List的用法基本相同,分别可以对其标题模板(Header Template)、项目模板(Item Template)、注脚模板(Footer Template)等进行设计,后面的实例就用Repeater完成。

二、数据库及表设计

由于需要动态管理栏目,因此栏目的标题,栏目的排列显示方式,栏目的列表数量等都可以通过数据库表的相关参数来改变,也可通过后台管理网页实现相应的参数更改,实例中为实现栏目的管理,由两个基本表来实现相应功能,一个为栏目参数(栏目管理),一个为栏目内容(信息),具体结构和内容如下。

(一)栏目参数表结构

栏目管理(id,栏目名称,类型,高度,宽度,显示字数,列表数,样式,链接,打开方式,独立链接)

(二)栏目参数表内容

id 栏目名称 类型 高度 宽度 显示字数 列表数 样式 类型链接 打开方式 独立链接

1 新闻 011 300 400 15 6 1 ~/xinwen.aspx _blank 0

2 学院自建数字资源 012 300 400 15 6 2 ~/zijian.aspx _blank 1

3 学院数字资源(镜像) 013 300 400 15 6 3 ~/ziyuan.aspx _blank 1

4 数字资源(主站) 014 300 400 15 6 3 ~/ziyuan1.aspx _blank 1

5 试用数字资源 015 300 400 15 6 4 ~/shiyong.aspx _blank 1

(三)栏目表结构

信息(id,名称,类型代码,序号,内容,独立链接,打开方式,日期时间,审核用户,否)

(四)栏目表内容

id 名称 类型代码 序号 内容 独立链接 打开方式 日期时间 审核用户 否

1 图书馆网站改版 011 改版 _blank 1

2 图书馆开馆时间调整 011 开馆 _blank 1

10 贵州地方志 012 001 http:// _top 1

15 万方镜像 013 001 http:// _blank 1

17 维普主站 014 001 http:// _blank 1

20 法易网 015 001 http:// _blank 0

其中“栏目管理”中的“类型链接”用于新闻栏目等设计,新闻中的条目通过“类型链接?编号=新闻id”,用新闻网页来打开指定的新闻链接,“栏目管理”中的“独立链接”用于启用“信息”的“独立链接”,“信息”中的“独立链接”用于新闻之外的资源网站链接,“打开方式”主要对应超链接的“Target”属性。列表数量由访问数据库表的查询语句“Top列表数量”子句来控制。

三、栏目设计过程

为保证栏目的在具体网页中更好的使用,将其设计成用户控件,可直接将该用户控件添加到网页中,与工具箱中的控件使用基本相似。

(一)添加用户控件

添加新项―Web用户控件,控件文件名为“Web User Control.ascx”,代码文件名为“Web User Control.ascx.cs”。

1.WebUserControl.ascx内容为:

Code File="Web User Control.ascx.cs"

Inherits="user-control-Web User Control"%>

Text=''

Navigate Url=''

Target=''

runat="server">

2.WebUserControl.ascx.cs内容为:

using System;

using System.Data;

public partial class user-control-Web User Control:System.Web.UI.User Control

{public Data Table lm-tab

{set

{lm.Data Source =value;

lm.Data Bind();

lm-bt.Text=lm.Data Source.To String();

genduo.Navigate Url=value.Rows[0]["类型链接"].ToString();

}}}

由于用户控件的封装,实例化后其内包含的对象及属性被屏蔽,无法直接实现数据绑定,为此在用户控件中添加属性“lm-tab”,作为传递Repeater的数据绑定,同时也将栏目标题与栏目链接从绑定的表中获取。

四、网页中添加栏目对象

创建好的用户控件使用方法与的工具箱添加对象有些不同,使用前必须先注册,即在网页中嵌入HTML代码:

Src为用户控件文件及虚拟路径,tagname为用户控件实例化的对象名tagprefix为标记,类似命名空间。

用户控件也是两种使用方法:(1)将用户控件从解决方案资源管理器中直接拖曳到WEB窗体上,WEB窗体上会自动添加注册信息;(2)代码添加,在创建用户控件前先输入注册用户控件的代码,然后用Load Control("用户控件路径/文件名.ascx")方法,添加对象,将对象的Visible属性设为True,并将该对象添加到相应的容器对象中,如From1.Controls.Add(对象名)。

添加对象后,按用户控件的要求提供相应的数据,并绑定,就完成栏目的使用。如以下网页及代码实现的是一个栏目的设计的两种形式。网页为“test-001.aspx”,以“新闻”为例。

(一)直接添加用户控件形式

1.网页HTML代码为:

(用户控件注册)

栏目测试

var _userid = '';var _siteid =2230;var _istoken = 1;var _model = 'Model03'; WebPageSpeed =203; UrchinTrack();

2.网页C#代码(文件名test_001.aspx.cs)为:

using System;

using System.Data;

public partial class test-001:System.Web.UI.Page

{protected void Page-Load(object sender,Event Args e)

{ Data Set myds=new Data Set();

Sql-text=”…”//查询语句

new data-get().ds-get(myds,"新闻",sql-text);

WebUserControl1.lm_tab=myds.Tables["新闻"];

} }

其中的data-get为访问数据库表的自定义类,ds-get为类的方法,通过方法的三个参数:“表集(Data Set)”,“表名”,“查询语句”传递,实现对相应表的访问,并返回相应的“表集”,其书写形式为“new data-get().ds-get(表集,表名,查询语句)”。

(二)用代码添加对象形式

1.网页HTML代码为:

(用户控件注册)

栏目测试

var _userid = '';var _siteid =2230;var _istoken = 1;var _model = 'Model03'; WebPageSpeed =203; UrchinTrack();

2.网页C#代码(文件名test-001.aspx.cs)为:

using System;

using System.Data;

public partial class test-001:System.Web.UI.Page

{

protected void Page-Load(object sender,Event Args e)

{

Data Set myds=new Data Set();

Sql-text=”…”//查询语句

new data-get().ds-get(myds,"新闻",sql-text);

Web User Control1=(User Control)Load Control("Web User Control.ascx");

Web User Control1.Visible=true;

((user-control-Web User Control)Web User Control1).lm-tab=myds.Tables["新闻"];

From1.Controls.Add(Web User Control1)

}}

以上两种方法得到的效果是相同的,作为栏目的设计是一个综合的设计过程,在设计过程中配合样式表和样式表中的“元素”、“类名”、“元素ID”及其生成的样式,实现对包含栏目在内的各种对象的修饰,达到网页的美化。

作为网页添加的栏目也可有多种形式,如利用Table及其相关的Table Row和Table Cell等对象实现多栏目动态布局,通过数据库中的表(如:栏目管理)的遍历,获取栏目的属性(列宽、行高,以及样式),在网页中实现栏目的管理。

参考文献:

[1]常永英,崔淼,马润成,梁云杰程序设计教程C#版[M].北京:机械工业出版社,2007

[2]宫继斌,孙胜涛,王颖 Web数据库开发教程[M].北京:机械工业出版社,2009

[作者简介]黄汉堂(1964.8-),男,贵州省都匀市人,讲师,讲究方向:数据库应用,计算机基础应用教育。

上一篇:基于网格计算的校园数字化网络建设 下一篇:浅述计算机网络安全与防范