苏玉梅 孙守强
摘 要:ASP.NET技术因其简单、易上手,成为了很多网站开发者采用的开发平台。本文以一个网站开发案例给出了一个快速进行网站设计与制作的流程,同时讲解了ASP.NET中的母版页技术、导航技术、角色认证技术、格式化数据输入、数据加密技术、验证码技术和数据库访问技术等。
关键词:ASP.NET;网站开发流程;网站开发技术
1 前言
ASP.NET因其简单、易学成为了网站业余爱好者和高校网站开发课程普遍选择的一个技术工具,关于这方面的书籍和资料很多,但是能使学习者快速掌握ASP.NET技术的总结资料却很少,本文结合一个网站开发案例对ASP.NET中的技术进行总结,希望给阅读者可以提供一定的帮助。
2 网站案例说明
本网站将结合SQLServer,创建一个数据库(如:test),创建一个数据表(如:table1),字段有:学号(如:id,主键)、密码(pwd)、姓名(name)、性别(sex)、角色(role,保存用户角色信息)、身份证号(card)、照片(photo,用于保存照片存放的路径)。
3母版页的设计与导航的添加
MasterPage用于定义网站中不同网页的相同部分,例如网站的格局、页头、页脚、导航栏等,实现网站的模版功能。在Visual Studio中,通过表格可以快速的对网页进行布局;通过Menu和TreeView控件添加菜单或导航区域,其中的SiteMapPath控件更是一个极为好用的获取网站地图的控件,当然之前需要添加Web.SiteMap站点地图文件,规划网站中文件之间的逻辑层次。
4 角色认证技术
本网站要求具备管理员和用户两个角色,如:admin(管理员角色)、user(注册用户角色)。
1)在网站中分别建立管理员和注册用户访问的文件夹,可放置不同角色访问的页面、图片、视频、动画等各种资源文件。
2)在文件夹中分别创建Web.Config文件,如:注册用户文件夹中的配置文件参考代码如下:
3)角色、用户和权限信息不建议大家采纳系统自带的数据库进行信息的保存,访问性太差,在Global.asax文件的Application_AuthenticateRequest事件中,将当前用户的标识与当前用户登录验证票据中保存的用户角色进行匹配。
5 格式化数据输入
验证控件用于对指定的Web控件检查输入的数据是否符合某些规则(例如必须输入非空数据、数据格式与范围应满足一定的要求等)。如非空验证控件RequiredFieldValidator,格式验证控件RegularExpressionValidator,范围验证控件RangeValidator,比较验证控件CompareValidator等。
6数据加密、验证码等网站安全访问技术
在上面的用户注册中,密码数据在写入数据库之前最好要进行加密,防止数据库数据泄漏后的密码泄密,在ASP.NET中对文本框数据进行加密可以采用md5技术完成,再存储到数据库中:
FormsAuthentication.HashPasswordForStoringInConfigFile(Server.HtmlEncode(txtuserpwd.Text),"md5");
验证码是一种防范Cookie数据自动保存而引起的凭据被截取技术,从自己服务器发起的表单进行验证便可解决这一漏洞,随机产生的验证码和文本框比较来实现,关于产生图片验证码的技术源码网络上的资源有很多,大家可以进行自由下载参考。
7数据库访问技术
1)ADO.NET作为网页与数据库访问的接口,提供强有力的对象支持,在实现过程中,我们可以基于以下两种策略来实现。一种策略是连接对象Connection(指定数据库信息)、命令对象Command(查询、添加、修改、删除)、数据读取对象DataReader(执行操作后的临时数据表,给应用程序提供执行操作后的结果);一种策略是连接对象Connection、数据适配器对象DataAdaper(负责数据的传输)、数据集对象DataSet(临时数据库,保存执行后的临时数据,供应用程序访问)。
2)从vs2005以后版本的.NET开发平台,增加了使用数据源直接操作数据库的功能,省去了连接的过程和临时数据操作。
3)数据批量导入,借助文件上传控件导入EXCEL文件,借助ADO.NET实现数据的导入,借助GridView控件进行数据的显示,最后使用For循环实现数据的添加。
①文件的导入:filepath = Server.MapPath("~\\MSadmin\\") + "excel.xls";FileUpload1.SaveAs(filepath);
GridView1.DataSource = CreateDataSource();
②借助ADO.NET实现数据的导入,即CreateDataSource()方法实现数据的连接,数据适配器的设置,生成的数据集对象作为函数的返回值,以绑定到GridView控件中。
③通过For循环将GridView中的数据进行读取并写入到数据库中。
4)数据批量导出,借助于Gridview将查询的结果先进行显示,然后将表格中的数据进行导出到EXCEL中,关键代码为:
Response.AppendHeader("Content-Disposition","attachment;filename=" + HttpUtility.UrlEncode("表名.xls",Encoding.UTF8).ToString());
8 结论
通过一个实际的网站案例,从网站布局设计到网站安全防范、网站技术实现,本文给出了一个概要框架,限于篇幅的原因,很多技术细节没有体现;当然,ASP.NET网站开发技术还有很多,本人也在学习过程中,论文所列观点与技术点仅供参考,不恰当之处还请阅读者多多指教。
参考文献:
[1]孙守强.“基于ASP.NET平台的安全网站编程技术”.电子技术与软件工程,2015.6.
[2]程不功.《ASP.NET 2.0动态网站开发教程》.清华大学出版社,2008.1
[3]赵强、张红中.“基于ASP.NET的网站系统安全性设计与实现”.计算机应用,2008.12.