asp实训报告

《Web程序设计》

班级:

姓名:

学号:

实训地点:

指导老师:

实训世间:

四川建筑职业技术学院

2012年6月14日

《Web程序设计》

一、实训要点:

1、了解MyPetShop系统的总体设计;

2、熟悉系统数据库设计;

3、掌握用户控件设计;

4、掌握前台功能模块设计;

5、掌握购物车模块;

6、掌握订单模块;

7、掌握后台功能管理模块。

二、实训内容:

●系统功能模块设计:

MyPetShop系统是一个具备基本功能的电子商务网站。系统主要包括五个功能模块:前台商品浏览模块、用户注册登录模块、购物车模块、订单结算模块和后台管理功能模块。

●网页制作的具体操作:

a、创建aspx文件:

通过对项目的分析,本项目共要创建14个aspx文件:

由于本项目是在同一个网页中显示不同的效果,所以要创建一个母版页:

创建好母版页后对母版页增加相应的控件以下为添加控件的截图:

通过添加各种控件得到以下的母版页样式:

以下为母版页的响应代码:

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using MyPetShop;

public partial class MasterPage : System.Web.UI.MasterPage {

protected void Page_Load(object sender, EventArgs e)

{

Initialize(); //调用自定义方法Initialize()

}

///

///网站初始化,添加两个角色(Member和Admin)到数据库ASPNETDB中

///

protected void Initialize()

{

if (Roles.GetAllRoles().Length == 0)

{

Roles.CreateRole("Member");

Roles.CreateRole("Admin");

}

}

protected void lnkbtnReset_Click(object sender, EventArgs e)

{

//得到页面上的WebPartManager控件,并重置其个性化属性

WebPartManager webPartManager = new WebPartManager();

webPartManager = WebPartManager.GetCurrentWebPartManager(Page);

webPartManager.Personalization.ResetPersonalizationState();

}

protected void imgbtnSearch_Click(object sender, ImageClickEventArgs e) {

//如果搜索框不为空,以Get形式传递搜索文本到Search.aspx

string strQuery = "";

if (txtSearch.Text.Trim() == "")

{

strQuery = "";

}

else

{

strQuery = "?SearchText=" + txtSearch.Text.Trim();

}

Response.Redirect("~/Search.aspx" + strQuery, true);

}

}

做好母版页后,我们就应该从各个响应开始做起:

1、登录响应:

截图:

添加好控件后对控件进行属性设置,设置好后写上相应的响应代码:using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

public partial class Login : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

Login1.Focus();

}

protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)

{

}

}

2、注册界面:

截图:

响应代码:

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

public partial class NewUser : System.Web.UI.Page

{

protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e) {

//将注册的用户添加到"Member"角色

Roles.AddUserToRole(https://www.360docs.net/doc/737978700.html,erName, "Member");

}

}

3、找回密码界面:

界面:

响应代码:

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

public partial class GetPwd : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void PasswordRecovery1_SendingMail(object sender, MailMessageEventArgs e) {

}

}

4、更改密码界面:

截图:

响应代码:

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

public partial class ChangePwd : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void LoginView1_ViewChanged(object sender, EventArgs e) {

}

}

5、导航页:

截图:

6、客户界面:

截图:

响应代码:

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Xml.Linq;

using MyPetShop;

public partial class OrderList : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

//如果匿名访问,转到登录页面

if (!User.Identity.IsAuthenticated)

{

Response.Redirect("~/Login.aspx", true);

}

Bind(); //调用自定义方法Bind()

}

///

///显示登录的用户名对应的订单列表

///

protected void Bind()

{

DataConn dataconn = new DataConn();

var orderItems = from o in dataconn.OrderItem

where https://www.360docs.net/doc/737978700.html,erName == https://www.360docs.net/doc/737978700.html,

select o;

gvOrderItem.DataSource = orderItems;

gvOrderItem.DataBind();

}

protected void GridView1_PageIndexChanging(Object sender, GridViewPageEventArgs e) {

gvOrderItem.PageIndex = e.NewPageIndex;

Bind();

}

protected void gvOrderItem_SelectedIndexChanged(object sender, EventArgs e)

{

}

}

7、产品介绍界面:

截图:

响应代码:

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Xml.Linq;

using MyPetShop;

public partial class ProShow : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

if (Request.QueryString.Count == 0)

{

Response.Redirect("Default.aspx", true);

}

else

{

Bind(); //调用自定义方法Bind()

}

}

///

///根据从NewProduct.ascx、Category.ascx、PetTree.ascx传递过来的ProductId或CategoryId值,显示与ProductId值相等的单个商品信息,或者显示CategoryId确定的分类中所有的商品信息///

protected void Bind()

{

DataConn dataconn = new DataConn();

if (Request.QueryString["ProductId"] != null)

{

int productId = int.Parse(Request.QueryString["ProductId"]);

var products = from p in dataconn.Product

where p.ProductId == productId

select p;

gvProduct.DataSource = products;

gvProduct.DataBind();

}

if (Request.QueryString["CategoryId"] != null)

{

int categoryId = int.Parse(Request.QueryString["CategoryId"]);

var products = from p in dataconn.Product

where p.CategoryId == categoryId

select p;

gvProduct.DataSource = products;

gvProduct.DataBind();

}

}

protected void gvProduct_PageIndexChanging(Object sender, GridViewPageEventArgs e)

{

gvProduct.PageIndex = e.NewPageIndex;

Bind(); //调用自定义方法Bind()

}

protected void gvProduct_SelectedIndexChanged(object sender, EventArgs e)

{

}

}

8、收索页设置:

截图:

响应代码:

using System;

using System.Linq;

using System.Web.UI.WebControls;

using System.Data.Linq.SqlClient;

using MyPetShop;

public partial class Search : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

Bind(); //调用自定义方法Bind()

}

}

///

///根据从MasterPage.master传递过来的SearchText值,模糊查询与SearchText值匹配的所有商品信息并显示

///

protected void Bind()

{

if (Request.QueryString["SearchText"] != null)

{

string strSearchText = Request.QueryString["SearchText"].ToString();

DataConn dataconn = new DataConn();

var products = from p in dataconn.Product

where SqlMethods.Like(https://www.360docs.net/doc/737978700.html,, "%" + strSearchText.Trim() + "%")

select p;

gvProduct.DataSource = products;

gvProduct.DataBind();

}

else

{

lblError.Text = "无搜索结果!";

}

}

protected void gvProduct_PageIndexChanging(Object sender, GridViewPageEventArgs e)

{

gvProduct.PageIndex = e.NewPageIndex;

Bind(); //调用自定义方法Bind()

}

}

9、主页的制作:

响应代码:

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

public partial class_Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

//设置个性重置按钮可用

LinkButton lnkbtnReset = new LinkButton();

lnkbtnReset = (LinkButton)Page.Master.FindControl("lnkbtnReset");

if (User.Identity.IsAuthenticated)

{

lnkbtnReset.Enabled = true;

}

}

}

10、天气界面的设置:

截图:

因为本项目是一个商业性的网址,所以会有大量的数据进行储存,一下是

创建数据库的过程:

截图:

给数据库加“表”:定义“表”:

给“表”增添数据:

以下为最终结果运行截图:

相关文档
最新文档