黑龙江大学
实  验  报  告
课程名称
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小时内删除。