web技术课程设计.docx

上传人:b****7 文档编号:10305157 上传时间:2023-02-10 格式:DOCX 页数:27 大小:277.64KB
下载 相关 举报
web技术课程设计.docx_第1页
第1页 / 共27页
web技术课程设计.docx_第2页
第2页 / 共27页
web技术课程设计.docx_第3页
第3页 / 共27页
web技术课程设计.docx_第4页
第4页 / 共27页
web技术课程设计.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

web技术课程设计.docx

《web技术课程设计.docx》由会员分享,可在线阅读,更多相关《web技术课程设计.docx(27页珍藏版)》请在冰豆网上搜索。

web技术课程设计.docx

web技术课程设计

经济管理学院管科系

课程设计报告

 

课程设计名称:

web技术课程设计

课程设计时间:

第19周上午4节和晚上4节

 

 

 

专业

班级

学生姓名

学号 

指导老师

课程设计报告格式

1.课程设计目的

《Web技术课程设计》是信息管理与信息系统专业的一个重要的实践性环节,是《Web开发技术》课的理论实践,课程设计涉及到《网页设计基础》、《数据库应用》有关知识与技能,通过本课程设计目的是让学生掌握B/S体系结构开发的基本开发思想与开发步骤及方法,掌握设计、开发、调试Web应用系统,理解HTTP协议,掌握.NET环境下有关理论与特性,学会使用C#进行系统业务逻辑的编写,掌握使用ADO.NET进行数据库开发,掌握ASP.NET控件和创建自定义ASP.NET控件,了解分层架构的基本思想。

2.课程设计题目描述和要求

使用.NET技术实现类似MicrosoftPetshop4.0的宠物店网站。

要求:

使用主题、母版、Web用户控件、自定义控件等特性,使用标准、数据、验证、登录等控件,实现宠物浏览,购物车,用户注册登录等功能,独立完成,正常运行,鼓励创新。

3.课程设计报告内容

3.1实现的主要功能和使用的关键技术

3.2主要文件及有关功能说明

3.3核心代码及有关逻辑说明

3.4遇到的主要问题及解决思路

3.5系统特色

4.课程设计总结

附页

参考书目:

[1](美)StephenWalther主编,《ASP.NET3.5揭秘(卷1)》,人民邮电出版社,北京,2009年

[2](美)StephenWalther主编,《ASP.NET3.5揭秘(卷2)》,人民邮电出版社,北京,2009年

课程设计报告(附页)

PetShop是一个范例,微软用它来展示.Net企业系统开发的能力。

然而PetShop随着版本的不断更新,至现在基于.Net2.0的PetShop4.0为止,整个设计逐渐变得成熟而优雅,却又很多可以借鉴之处。

PetShop是一个小型的项目,系统架构与代码都比较简单,却也凸现了许多颇有价值的设计与开发理念。

经过一个学期的课程设计,下面根据我自己做的petshop,对里面的内容进行分析。

一、实现的主要功能和使用的关键技术

1)数据库链接:

两种方法:

datasource手动连接。

Web.config中链接,利用connectionstring连接到对应的数据库中。

2)注册页面:

通过使用TextBox、DropDownList、Button等控件实现页面的布置,并提供注册信息的输入功能。

MySqlConnection实现对数据库的链接,运用sql语句判断用户名注册与否。

非已注册用户完成注册功能。

3)登录,首先判断用户是否存在和密码是否正确,若存在,则更新数据库中用户最后登录时间、建立Session["Username"]、跳转页面至首页;若不存在,则弹窗警告。

4)菜单展示,使用DataList实现。

首先通过Session["Username"]判断用户是否登录。

默认首次登录后菜单页显示第一页。

在cs文件中初始化DataList1的各项属性,DataSource属性实现与数据库的product_info表的链接。

在前台页运用DataBind绑定数据至所需位置。

最终实现菜单页面的显示。

另外还可进行菜单类别的选择。

5)购物车功能,DataList实现订单的显示,所使用技术类似菜单显示,最终按钮为确认按钮,确认菜谱确认。

另外还可实现对订单的增删改操作。

二、主要文件及有关功能说明

Default.aspx:

主页:

利用repeatercontrol控件,控制宠物分类,是的每个宠物链接均能与product页面中的分类相链接。

建立登录按钮,可以登录到数据库中,并且利用session记住登录状态。

Product.aspx页面:

Datalist中绑定数据,分页处理,包括:

上一页下一页首页末页跳转页。

Placeholder中将每个弹出页面反映到导航上;

建立一个MasterPage.master:

Product的页面、Item页面均利用此页面来构建。

Newuser.aspx页面

注册新用户。

Newusersuccess页面

注册新用户成功提示。

SignIn页面:

登陆页面,购物车页面运行之前必须登录。

ShoppingCart页面

购物车页面,用户将购物存进临时表。

包括单价汇总。

Checkout页面

支付页面,从购物车跳入此页面,支付成功。

三、核心代码及有关逻辑说明

Default.aspx页面中:

Default.aspx.cs中:

protectedvoidLinkButton1_Click(objectsender,EventArgse)

{

Response.Redirect("SignIn.aspx");

}

表示点击登录按钮进入到登录页面。

Product.aspx:

DataListID="DataList1"runat="server"RepeatColumns="2"

Width="575px"Height="172px">

ImageID="Image1"runat="server"ImageUrl='<%#Eval("image")%>'/>

 

productId=<%#Eval("productId")%>'>

<%#Eval("name")%>>

<%#Eval("descn")%>>

DataList>

   

LabelID="lbpageandTotal"runat="server"Text="Label">

Label>      

LinkButton

ID="lbup"runat="server"CommandName="up"OnCommand="Page_Click">上一页

LinkButton>

    

LinkButtonID="lbdown"

runat="server"CommandName="down"OnCommand="Page_Click">下一页

LinkButton>

    

LabelID="lbRecorderCount"

runat="server"Text="Label">

Label>

     

Label

ID="lbTotalpage"runat="server"Text="Label">

Label>   

LinkButtonID="lbfirst"

runat="server"CommandName="first"OnCommand="Page_Click">首页

LinkButton>

   

LinkButtonID="lblast"runat="server"CommandName="last"OnCommand="Page_Click">末页

LinkButton>

    

Label

ID="lb_tiaozhuan"runat="server"Text="跳转到">

Label>

TextBoxID="TextBox2"runat="server"Width="33px">

TextBox>

Button

ID="btgo"runat="server"Text="go"onclick="btgo_Click"/>

Product.aspx.cs中:

intCurrentPage,Pagesize,RecordCount,PageCount;

protectedvoidPage_Load(objectsender,EventArgse)

{

Pagesize=4;

Page.Title=Request.QueryString["CategoryId"].ToLower();

if(!

Page.IsPostBack)

{

ListBind();

CurrentPage=0;

ViewState["currentPage"]=CurrentPage;

RecordCount=newRecordCount();

PageCount=RecordCount/Pagesize;

if(RecordCount%Pagesize>0)

{PageCount=PageCount+1;}

ViewState["pageCount"]=PageCount;

lbRecorderCount.Text="总记录"+RecordCount.ToString();

lbpageandTotal.Text=(CurrentPage+1)+"/"+PageCount.ToString();

lbTotalpage.Text="共"+PageCount.ToString()+"页";

}

}

protectedvoidListBind()

{

SqlConnectionmyconn=newSqlConnection(DB.CreateConnStr());

SqlDataAdaptermyda=newSqlDataAdapter("select*fromproductwhereCategoryid='"+Request.QueryString["CategoryId"].ToString()+"'",myconn);

DataSetmyds=newDataSet();

intStartIndex=CurrentPage*Pagesize;

myda.Fill(myds,StartIndex,Pagesize,"product");

DataList1.DataSource=myds.Tables[0].DefaultView;

DataList1.DataBind();

myconn.Close();

lbdown.Enabled=true;

lbup.Enabled=true;

if(CurrentPage==0)

lbup.Enabled=false;

if(CurrentPage==PageCount-1)

lbdown.Enabled=false;}

privateintnewRecordCount()

{SqlConnectionmyconn=newSqlConnection(DB.CreateConnStr());

myconn.Open();

SqlCommandmyCommand=newSqlCommand("selectcount(*)fromproductwhereCategoryid='"+Request.QueryString["CategoryId"].ToString()+"'",myconn);

returnInt32.Parse(myCommand.ExecuteScalar().ToString());

myconn.Close()}

protectedvoidPage_Click(objectsender,CommandEventArgse)

{

CurrentPage=(int)ViewState["currentPage"];

PageCount=(int)ViewState["pageCount"];

stringlbname=e.CommandName;

switch(lbname)

{

case"up":

if(CurrentPage>0)

CurrentPage--;

break;

case"down":

if(CurrentPage

CurrentPage++;

break;

case"first":

CurrentPage=0;

break;

case"last":

CurrentPage=PageCount-1;

break}

ViewState["currentPage"]=CurrentPage;

ListBind();

lbpageandTotal.Text=(CurrentPage+1)+"/"+PageCount.ToString();

}

protectedvoidbtgo_Click(objectsender,EventArgse)

{

CurrentPage=Int32.Parse(TextBox2.Text.ToString())-1;

PageCount=(int)ViewState["pageCount"];

if(CurrentPage<0)

{CurrentPage=0;}

if(CurrentPage>PageCount-1)

{CurrentPage=PageCount-1;}

//ViewState["currentPage"]=CurrentPage;

ListBind();

lbpageandTotal.Text=(CurrentPage+1)+"/"+PageCount.ToString();

}

MasterPage.master中:

源代码:

protectedvoidPage_Load(objectsender,EventArgse)

{

HtmlAnchorlnkhome=newHtmlAnchor();

lnkhome.InnerText="主页";

lnkhome.HRef="default.aspx";

PlaceHolder1.Controls.Add(lnkhome);

LiteralmyLt=newLiteral();

myLt.Text=">>>";

PlaceHolder1.Controls.Add(myLt);

if(Request.QueryString["CategoryId"]!

=null)

{

HtmlAnchorlnkProsuct=newHtmlAnchor();

lnkProsuct.InnerText=Request.QueryString["CategoryId"].ToString();

lnkProsuct.HRef="Products.aspx?

page=0&CategoryId="+Request.QueryString["CategoryId"].ToString();

PlaceHolder1.Controls.Add(lnkProsuct);

}

Label1.Text=Page.Title.ToString();

Page.Title=string.Format(".netpetshop:

:

{0}",Page.Title.ToString());

if(Request.QueryString["ProductId"]!

=null)

{SqlConnectionmyconn=newSqlConnection(DB.CreateConnStr());

SqlCommandmyCommand=newSqlCommand("selectCategoryIdfromproductwhereProductId='"+Request.QueryString["ProductId"].ToString()+"'",myconn);

myconn.Open();

stringCategoryId=myCommand.ExecuteScalar().ToString();

myconn.Close();

HtmlAnchorlnkProsuct1=newHtmlAnchor();

lnkProsuct1.InnerText=CategoryId;

lnkProsuct1.HRef="Products.aspx?

page=0&CategoryId="+CategoryId+"";

PlaceHolder1.Controls.Add(lnkProsuct1);

Literalmyll=newLiteral();

myll.Text=">>>";

PlaceHolder1.Controls.Add(myll);

HtmlAnchorlnkItem=newHtmlAnchor();

SqlConnectionmyconn1=newSqlConnection(DB.CreateConnStr());

SqlCommandmyCommand1=newSqlCommand("selectnamefromproductwhereProductId='"+Request.QueryString["ProductId"].ToString()+"'",myconn);

myconn.Open();

stringname=myCommand1.ExecuteScalar().ToString();

myconn.Close();

lnkItem.InnerText=name;

lnkItem.HRef="Items.aspx?

productId=&categoryId="+name+"";

PlaceHolder1.Controls.Add(lnkItem);}}

protectedvoidLinkButton1_Click(objectsender,EventArgse)

{Response.Redirect("SignIn.aspx");}

protectedvoidLinkButton2_Click(objectsender,EventArgse)

{Response.Redirect("ShoppingCart.aspx");}

Items页面中:

Item.aspx.cs中代码:

privatestringItemId;

privatestringCategoryId;privatestringproductName;

string_ItemId,_ItemName,pId,Qty;

intm;

floatUnitprice;

intCurrentPage,Pagesize,RecordCount,PageCount;

protectedvoidPage_Load(objectsender,EventArgse)

{

SqlConnectionmyconn=newSqlConnection(DB.CreateConnStr());

SqlCommandmyCommand=newSqlCommand("selectnamefromproductwhereProductId='"+Request.QueryString["ProductId"].ToString()+"'",myconn);

myconn.Open();

stringname=myCommand.ExecuteScalar().ToString();

myconn.Close();

Page.Title=name;

Pagesize=4;

//Page.Title=Request.QueryString["ItemId"].ToLower();

if(!

Page.IsPostBack)

{

ListBind();

CurrentPage=0;

ViewState["currentPage"]=CurrentPage;

PageCount=RecordCount/Pagesize;

if(RecordCount%Pagesize>0)

{PageCount=PageCount+1;}

ViewState["pageCount"]=PageCount;

}}

protectedvoidListBind()

{

SqlConnectionmyconn=newSqlConnection(DB.CreateConnStr());

SqlDataAdaptermyda=newSqlDataAdapter("selectb.*,c.*fromProductajoinItembona.ProductId=b.ProductIdjoinInventoryconb.ItemId=c.ItemIdwherea.ProductId='"+Request.QueryString["ProductId"].ToString()+"'",myconn);

DataSetmyds=newDataSet();

intStartIndex=CurrentPage*Pagesize;

myda.Fill(myds,StartIndex,Pagesize,"selectb.*,c.*fromPro

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1