黑龙江大学
实 验 报 告
课程名称 | Asp技术 | |||||
实验项目名称 | 基于Asp的网站设计与实现 | |||||
实验时间 (日期及节次) | ||||||
专业 | 软件工程 | 学生所在学院 | 软件学院 | |||
年级 | 2011级 | 学号 | 20113311 | |||
姓名 | 杜常数 | 指导教师 | 玄萍 | |||
实验室名称 | 4# 513室 | |||||
实验成绩 | 网页购物车代码 预习情况 | 操作技术 | 实验报告 | 附加:综合创新能力 | 实验 综合成绩 | |
教师签字 | ||||||
黑龙江大学教务处
实验步骤
1、设计思想
本次实验旨在使用Asp.Net技术设计开发一个具有用户登录、注册、文章评论、以及购物的网站。
用户登录模块:用户将登录的信息表单填写好后提交给后台程序,通过查询数据库查询验证用户是否合法,如果合法则将用户名保存在Session中否则显示登录失败的信息。
注册模块:用户填写表单,将表单填写后提交后台程序,首先验证用户是否已经存在,如果不存在则向数据库中插入记录并跳转到注册成功的页面,并设置Session中用户名,成为已经登录的状态。否则显示用户已经存在的信息。
文章评论模块:如果用户尚未登录,则不能评论,只要不显示输入框、提交按钮即可;如果用户已经登录,则显示输入框,提交按钮,此时用户可以进行评论。
购物模块:当用户进行访问时,首先应对是否已经登录进行判断,如果用户尚未进行登录则不显示购物车、加入购物车等按钮只能浏览商品,如果已经登录,则显示购物车、加入购物车的按钮等。加入购物车时将商品的信息全保存在Session中。点击结算时,将页面转换到OrderSubmit.aspx即可。
2、控件的使用
用户登录模块:用户登录模块主要运用了标准控件中的TextBox、Button,用于输入用户名,用户密码和提交时的按钮;
验证控件中使用了RequiredFieldValidator,以确保用户登录时必须填写用户名和密码。
注册模块:标准控件中使用了TextBox,用户注册时需要填写的基本信息;Button,注册按钮;
验证控件中使用了RequiredFieldValidator,主要用于验证用户名和用户密码项;CompareValidator验证密码与密码确认是否一致;
RegularExpressionValidator用于验证用户输入的的格式是否正确。
自定义控件CustomValidator验证用户输入的密码复杂度长度是否足够。
文章评论模块:主要使用到了标准的控件中的TextBox,用于用户输入评论内容;Button,用于提交用户输入的评论,Label显示用户的评论内容。AdRotator显示一个广告内容。
购物模块:主要使用了标准控件中的Button,用于提交购物车中所选择的商品,Label显示购物车的所有商品。
3、网页布局设计
为了各个网页的一致布局能够精确的控制,网站采用表格布局的方法。如下为各个网页的布局说明:
首页:Default2.aspx
主要包含用户登录的模块以及其他链接,如下图所示为首页的整体布局。
用户的注册页面:Register.aspx
主要包含用户注册的模块,注册的表单含有用户名、用户密码、密码确认、QQ号、邮箱、地址、个人资料(选填),提交按钮等
简要布局模式如下所示:
Default.aspx页面:主要包含用户的文章展示和用户评论模块
简要布局如下图所示:
Shoping.aspx页面:
主要包含购物的功能模块,页面的布局同样采用table布局,用户未登陆时,没有购物车等信息,因此该页面在用户登录后与未登陆时显示效果不一样,但整体布局相差不大。如下是网页的整体布局:
4、编码及流程图
(1)用户登录时首先应该验证用户是否已经存在,其次还要验证用户密码是否正确,具体的流程图如下所示:
用户登录的关键代码如下所示,所在的文件为Default2.aspx.cs:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["username"] != null)
{
Label1.Text = "欢迎您:" + (String)Session["username"];
}
else if (Session["username"] == null && TextBox1.Text.Length == 0)
{
HttpCookie hcusername = Request.Cookies["username"];
HttpCookie hcuserpassword = Request.Cookies["userpassword"];
if (hcusername != null)
TextBox1.Text = Server.HtmlEncode(hcusername.Value);
if (hcuserpassword != null)
TextBox2.Text = Server.HtmlEncode(hcuserpassword.Value);
CheckBox1.Checked = true;
}
}
private bool check()
{
String name = TextBox1.Text;
String password = TextBox2.Text;
bool ret = false;
if ((name != null && name.Length > 0) && (password != null && password.Length > 0))
{
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("siwen.mdb"));
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论