基于ASP.NET Web用户控件站点流量统计系统的设计

2010-10-17 11:04许春艳
科技传播 2010年9期
关键词:表示层控件视图

李 航,许春艳

长春职业技术学院,吉林长春 130033

基于ASP.NET Web用户控件站点流量统计系统的设计

李 航,许春艳

长春职业技术学院,吉林长春 130033

通过采用ASP.NET技术下的Web用户控件可以简化表示层的页面复杂度,让程序员可以专心设计流量系统的业务逻辑而不必在代码维护方面花费太多的精力。本文对站点流量统计系统的设计进行了论述。

表示层;业务逻辑;站点流量;Web用户控件;ascx

随着互联网技术的逐渐普及,中国网民的数量正在以迅猛的增长,如何招揽更多的点击率,获取更多访问量,如何及时调整网站内容已经成为了广大网站管理者目前最为关心的问题。

由此产生的各种轻量级的站点流量统计系统也开始应运而生,本文主要探讨目前应用范围比较广的基于ASP.NET Web用户控件的站点流量统计系统(以下简称流量系统)的设计思路。

就目前而言流量系统一般要具备快速统计站点流量、栏目流量、IP流量等信息。而如果单纯地将以上功能的代码直接编辑在表示层的页面中,通常会造成代码混乱、不易维护等问题。这里可以采用ASP.NET技术下的Web用户控件来简化表示层的页面复杂度。让程序员可以专心设计流量系统的业务逻辑而不必在代码维护方面花费太多的精力。

Web用户控件与 ASP.NET 窗体有以下区别:

1)Web用户控件的文件扩展名为 .ascx;

2)Web用户控件中没有 @ Page 指令,而是包含 @ Control 指令,该指令对配置及其他属性进行定义;

3)Web用户控件不能作为独立文件运行。而必须像处理任何控件一样,将它们添加到 ASP.NET 窗体页中;

4)Web用户控件中没有 html、body 或 form 元素。这些元素必须位于宿主页中。

可以在用户控件上使用与在 ASP.NET 网页上所用相同的HTML 元素(html、body 或 form 元素除外)和 Web 控件。例如,如果要创建一个将用作工具栏的用户控件,则可以将一系列Button Web 服务器控件放在该控件上,并创建这些按钮的事件处理程序

在流量系统中通常会提供给用户一个系统的实时时间提示,同样这个功能可以将这些代码封装到一个Web用户控件中,当需要显示系统时间时,只要拖动这个Web用户控件的文件到具体页面的设计视图下就可以了。

例1:在所需网站根目录下添加一个Web用户控件,命名为DisplayTime.ascx,在其源视图下添加如下代码:

例2:设计显示当月访问量的Web用户控件DisplayMonthCount.ascx

在网站根目录下添加新项Web用户控件:“DisplayMonthCount.ascx”并在其源视图下添加如下代码:

进入DisplayMonthCount.ascx.cs页面,添加如下代码,其中using DAL.traffic;为引入刚刚建立的DataBase.cs数据库操作类所在的命名空间。通过创建DataTime对象获取当前月份,并将当前月份作为检索Func表的条件获取满足该月份的记录总算,即select count(*) from func where month(loadtime)=month,其中count(*)为自动求和函数。值得注意的是当前访问表Func的方式为通过构建SQL语句在数据库意外的环境下操作,因此需要对数据库查询语句进行字符串式的封装构建,因此就有了定义一个String类型的数据库查询字符串str的定义,在此读者应重点留意带有查询条件(参数)的查询字符串String str=@"select count(*) from func where month(loadtime)="+month;的构建特点。最后将查询结果以一个DataReader数据集的方式返回,并字符串的方式赋值给标签控件Label1的Text值

例3:设计显示当日访问量Web用户控件getDayCount.ascx

在网站根目录下添加新项Web用户控件“getDayCount.ascx”在其源视图下添加如下代码:

进入DisplayMonthCount.ascx.cs页面添加如下代码, 当日访问量设计思路与显示当月访问量设计思路相同,只是筛选表Func记录的条件改成了当前日期即DataTime.Now.Day

[1]郑耀东.ASP.NET从入门到实践[M].北京:清华大学出版社,2009,9.

[2]刘亮亮,潘中强.精通ASP.NET 2.0数据绑定技术[M].北京:人民邮电出版社.

TP393

A

1674-6708(2010)18-0127-02

李航,助教,现就职于长春职业技术学院,从事软件技术专业教学工作

猜你喜欢
表示层控件视图
OSI参考模型
5.3 视图与投影
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
ASP.NET三层构架解析
基于SSH框架科研管理系统的设计
ASP.NET服务器端验证控件的使用
Spreadsheet控件在Delphi数据库系统中的编程与应用