ASPNET应用开发综合实验报告.doc_第1页
ASPNET应用开发综合实验报告.doc_第2页
ASPNET应用开发综合实验报告.doc_第3页
ASPNET应用开发综合实验报告.doc_第4页
ASPNET应用开发综合实验报告.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件114 蔡双江 1108203422网上订购系统实验报告姓名:蔡双江 学号:1108203422班级:软件114 指导老师:张金姬 一、 实验目的1、 学习在ASP.NET+SQL Server平台设计动态网站的方法2、 掌握设计网站涉及到的各种技术:模板设计、样式设计、站点地图导航设计、主页面设计与编程、功能页面设计与编程3、 掌握ASP.NET应用程序访问数据库的技术4、 掌握ASP.NET提供的各种控件应用技巧及主要事件处理程序的编程二、 实验内容和要求1、 设计网站模板、样式、菜单导航2、 购物网站所管理的信息数据库3、 设计网站主页4、 按站点地图设计各功能页面并编写相应的事件处理程序三、 实验步骤1、 新建项目并构建购物网站母版页备注:打开Visual Studio 2005,新建ASP.Net网站并设置保存路径,新建母版页以下为设计好母版页的框架备注:创建网站模板时,需要注意排版的高度宽度尺寸,我设置的网站宽度为850px,高度为649px;其中最上的Logo栏高度为181px,菜单栏高度为30px;导航栏高度占380px,宽度为170px;编辑区域高度和导航栏高度保持一致为380px,宽度为680px;最底端处高度为58px。2、 数据库设计:(一共7个信息表)员工信息表客户信息表订单信息表订单详情表产品信息表产品类别表供应商信息表3、 建立站点地图Web.sitemap文件 4、 设计层叠样式右击-添加样式规则选择元素、类名或者元素ID右击生成样式,对字体、背景、文本等等进行编辑,代码自动生成。BODYbackground-color: #ddedd0;.tr border-right: black thin solid;border-top: black thin solid;border-left: black thin solid;border-bottom: black thin solid;A:hover font-weight: bold;color: purple;font-family: 华文中宋;text-decoration: underline overline;font-size: 18px;.bbackground-color: #ddedd0;#td1background-image:url(img/logo.jpg);#td2background-image:url(img/left.jpg);#b1background-color:transparent;#b3background-color: transparent;#div2 width:476px;height:316px;background-image:url(img/mb.jpg); display:none; font-family:黑体; font-size:large;5、 数据库连接SqlConnection conn = new SqlConnection(); conn.ConnectionString = Data Source=.;Initial Catalog=shopping;Integrated Security=True; SqlCommand cmd = new SqlCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = sql; cmd.Connection = conn;6、 设计员工或客户注册备注:采用上传控件FileUpload,并将上传路径显示在Label内。上传员工照片代码: string zp = Label1.Text; string xqah = ; for (int i = 0; i 3; i+) if (this.CheckBoxList1.Itemsi.Selected) xqah = xqah + + CheckBoxList1.Itemsi.Text; string csrq = TextBox8.Text; string sql =insert into dbo.Member(MemberID,memName,Title,Address,City,Phone,pwd,xingbie,csny,xqah,memphoto)values(+ygh+,+xm+,+zw+,+xxdz+,+cs+,+lxfs+,+mm+,+xb+,+csrq+,+xqah+,+zp+); SqlConnection conn=new SqlConnection(); conn.ConnectionString = Data Source=.;Initial Catalog=shopping;Integrated Security=True; SqlCommand cmd=new SqlCommand(); cmd.CommandType=System.Data.CommandType.Text; cmd.CommandText=sql; cmd.Connection =conn; try conn.Open(); int num = cmd.ExecuteNonQuery() ; if (num = 1) Response.Write(操作:插入成功!); catch(Exception ex) Response.Write(ex.Message.ToString(); finally /关闭对象 if(conn!=null) conn.Close(); protected void Button2_Click(object sender, EventArgs e) string flname = FileUpload1.FileName; Label1.Text =+ upload + flname.Substring(flname.LastIndexOf()+1); string fm = flname.Substring(flname.LastIndexOf()+1); FileUpload1.PostedFile.SaveAs(HttpRuntime.AppDomainAppPath+upload+fm); 7、 分类查询设计以及详细信息显示备注:使用下拉框控件DropDrownList并勾选AutoPostBack选项,实现无刷新显示所查询的类别商品信息。8、 登陆页面设计以及密码修改9、 购物车设计备注:在C盘下路径:WINDOWSMicrosoft.NETFramworkv2.0.50727下找到_regsql.exe文件,并直接双击它即可对Profile的配置实现多用户(支持匿名用户)购物系统。Web.config文件代码“Asp.Net 配置”选项。 设置和注释的完整列表在 ments 中,该文件通常位于 WindowsMicrosoft.NetFrameworkv2.xConfig 中- !- 通过 节可以配置 ASP.NET 使用的 安全身份验证模式, 以标识传入的用户。 - !- -!- 如果在执行请求的过程中出现未处理的错误, 则通过 节可以配置相应的处理步骤。具体说来, 开发人员通过该节可以配置 要显示的 html 错误页 以代替错误堆栈跟踪。 - 备注:采用DetailView表显示所选商品的详细信息,并且LinkButton控件点击事件引入CartItem.cs和ShoppingCart.cs来对所购商品进行加入购物车处理CartItem.csusing System;using System.Collections.Generic;using System.Web; Serializablepublic class Cartitem private int prouductid; private string prouductname; private decimal bookprice; private int quality = 1; public int ProductId get return prouductid; public string prouductName get return prouductname; public decimal price get return bookprice; public int Quantity get return quality; set quality = value; public decimal subtotalprice get return bookprice * quality; public Cartitem(int Prouductid, string Prouductname, decimal pricE) prouductid = Prouductid; prouductname = Prouductname; bookprice = pricE; ShoppingCart.csusing System;using System.Collections.Generic;using System.Web;using System.Collections; Serializablepublic class ShoppingCart private Hashtable mycart = new Hashtable(); public ICollection CartItems get return mycart.Values; public decimal TotalPrice get decimal sum = 0; foreach (Cartitem item in mycart.Values) sum += item.price * item.Quantity; return sum; / 定义向购物车中添加 public void AddBook(int productid, string productname, decimal price) Cartitem item = (Cartitem)mycartproductid; if (item = null) mycart.Add(productid, new Cartitem(productid, productname, price); else item.Quantity+; mycartproductid = item; public void RemoveBook(int productid) Cartitem item = (Cartitem)mycartproductid; if (item != null) mycart.Remove(productid); public void SetQuantity(int productid, int quanlity) Cartitem item = (Cartitem)mycartproductid; if (item != null & quanlity 0) item.Quantity = quanlity; mycartproductid = item; 备注:根据是否为匿名用户对购物车的商品是否被购入作出判断,如果用户尚未登录就给予尚未登录的警告框,登录之后则跳转到购买成功页面。购物车实现代码using System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class buyproduct3 : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) BindShoppingCart(); protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) int id = (int)GridView1.SelectedDataKey.Value; Profile.ShoppingCart.RemoveBook(id); GridView1.SelectedIndex = -1; BindShoppingCart(); protected void BindShoppingCart() if (Profile.ShoppingCart != null) GridView1.DataSource = Profile.ShoppingCart.CartItems; GridView1.DataBind(); if (GridView1.FooterRow != null) Label1.Text = 总价: + Profile.ShoppingCart.TotalPrice.ToString(c); Sessiontotalprice = Profile.ShoppingCart.TotalPrice.ToString(c); protected void Txtproductquality_TextChanged1(object sender, EventArgs e) bool isSuccess = false; TextBox txtquality = new TextBox(); txtquality = (TextBox)GridView1.Rows0.Cells5.FindControl(txtproductquality); GridViewRow row = txtquality.Parent.Parent as GridViewRow; if (!string.IsNullOrEmpty(txtquality.Text) try int quality = int.Parse(txtquality.Text); Response.Write(quality); if (quality 0) int bookid = int.Parse(GridView1.DataKeysrow.RowIndexProuductid.ToString(); Profile.ShoppingCart.SetQuantity(bookid, quality); BindShoppingCart(); isSuccess = true; else isSuccess = false; catch isSuccess = false; if (!isSuccess) txtquality.ForeColor = System.Drawing.Color.Red; Label1.Text = 购买数量为大于0的整数; else txtquality.ForeColor = System.Drawing.Color.Black; Label1.Text = string.Empty; protected void lbuy_Click(object sender, EventArgs e) if (Sessionloginok) = ) Response.Write(alert(抱歉,您尚未登录!无法匿名购买,请登录!); else Response.Redirect(buyproduct4.aspx); protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) bool isSuccess = false; if (e.Row.RowIndex -1) TextBox txtquality = e.Row.FindControl(txtproductquality) as TextBox; GridViewRow row = txtquality.Parent.Parent as GridViewRow; if (!string.IsNullOrEmpty(txtquality.Text) try int quality = int.Parse(txtquality.Text); if (quality 0) int bookid = int.Parse(GridView1.DataKeysrow.RowIndexProuductid.ToString(); Profile.ShoppingCart.SetQuantity(bookid, quality); BindShoppingCart(); isSuccess = true; else isSuccess = false; catch isSuccess = false; if (!isSuccess) txtquality.ForeColor = System.Drawing.Color.Red; Label1.Text = 购买数量为大于0的整数; else txtquality.ForeColor = System.Drawing.Color.Black; Label1.Text = string.Empty; protected void txtproductquality_TextChanged(object sender, EventArgs e) bool isSuccess = false; /获取Gridview控件中包含Textbox的行对象 TextBox txtquality = sender as TextBox; GridViewRow row = txtquality.Parent.Parent as GridViewRow; if (!string.IsNullOrEmpty(txtquality.Text) try int quanlity = int.Parse(txtquality.Text); Response.Write(quanlity); if (quanlity 0) int productid = int.Parse(GridView1.DataKeysrow.RowIndexProuductid.ToString(); Profile.ShoppingCart.SetQuantity(productid, quanlity); BindShoppingCart(); isSuccess = true; else isSuccess = false; catch isSuccess = false; if (!isSuccess) txtquality.ForeColor = System.Drawing.Color.Red; Label1.Text = 购买数量为大于0的整数; else txtquality.ForeColor = System.Drawing.Color.Black; Label1.Text = string.Empty; 四、 实验总结1、实验刚开始,购物网站题目刚批下来时,老师让大家用笔和纸构建自己所设计的网站雏形,并结合所发下来的数据库文件内的信息表进行站点地图设置,以设置好导航栏,进入B/S网站设计的初始阶段。这样,我的网站模板和导航栏就大致确定下来了。当然导航栏内的信息是可以由站点地图随时修改的,参照数据库文件内的数据信息大致来确定产品出库入库、员工或客户信息以及登陆注册、产品和订单信息以及编辑等等所对应的导航栏名称。2、连接数据库其实是一个难点,连接步骤操作比较简便,但如果对连接语句理解不够的话,就很难纯熟地进行编码,所以深刻理解数据库连接语句成为这个步骤的重中之重,所谓磨刀不误砍柴工,只有深入理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论