ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:147.71KB ,
资源ID:8386364      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8386364.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(APSNET沈士根实验报告DOC.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

APSNET沈士根实验报告DOC.docx

1、APSNET沈士根实验报告DOCWeb编程基础实验报告班级 计专 141 学号 14501111 姓名 黄跃翔 完成日期 2015.6.2实验室 理工楼 320 指导老师 沈士根、叶晓彤 成绩 实验题目 数据绑定 (一)实验目的(1)掌握 ListControl 类控件与数据源的绑定方法(2)熟练掌握 GridView 控件的应用(3)掌握 Details View 控件的应用(二) 实验内容及步骤1. 设计并实现一个网上购物网站 MyPetShop在解决方案中新建一个 MyPetShop 网站,再在该网站的根文件下分别添加 Web 窗体 ProShow.aspx,ShopChat.aspx

2、和 SubmitCart.aspx 。其中, ProShow.aspx 作为展示页; ShopChat.aspx 作为购物车页; SubmitCart.aspx 作为结算页。2.参考实验 7,分别在 MyPetShop 网站根文件下的 APP_Data 和 App_Code 文件夹中建立 MyPetShop.mdf 数据库和 MyPetShop.dbml 文件,操作后如图:Web编程基础实验报告3.将主教材程序源包中的 Prod_Images 文件夹复制到 MyPetShop 网站的根文件夹中。4.设计 ProShow.aspx如图Web编程基础实验报告其中添加 DropDownList 和

3、GridView 控件各一个。关于其内的详细的 Columms设置见书本。5.编写 ProShow.aspx.cs 中的方法代码public partial class ProShow : System.Web.UI. Page/ 在所有方法外声明一个 MyPetShopDataContext 类实例MyPetShopDataContext db = new MyPetShopDataContext ();/Page_Load 事件,将 Category 表中的 CategoryId 和 Name字段值填充到 ddlCategory 下拉列表框, 执行方法代码如下。protected void

4、 Page_Load( object sender, EventArgs e)if (!IsPostBack)var categories = from c in db.Categoryselect newc.CategoryId,c.Name;foreach (var category in categories)ddlCategory.Items.Add( new ListItem (category.Name.ToString(), category.CategoryId.ToString();Bind();/ 编写自定义方法 Bind() ,该方法根据选择的 CategoryId 显示

5、分类中包含的商品。 private void Bind()int categoryId = int .Parse(ddlCategory.SelectedValue);var products = from p in db.Product where p.CategoryId = categoryId select p;gvProduct.DataSource = products;gvProduct.DataBind();/ 当改变 ddlCategory 中的分类名后,触发 SelectedIndexChanged 事件,此时,需要重新在 gvProduct 中显示该分类名包含的商品pro

6、tected void ddlCategory_SelectedIndexChanged( object sender, EventArgs e)Bind();/ 当改变 gvProduct 的当前页后,触发 PageIndexChanging 事件,此时,需要重新设置新的页面索引 值。Web编程基础实验报告protected void gvProduct_PageIndexChanging( object sender, GridViewPageEventArgs e) gvProduct.PageIndex = e.NewPageIndex;Bind();6.设计 Profile操作时,打

7、开 MyPetShop网站根文件夹下的 Web.config, 在 元素中,编写配置 代码如下:7.设计 ShopCart.aspx 如图:Web编程基础实验报告其中的 Columms属性设置如图:详细设置见书本。8.编写 ShopCart.aspx.cs 中的方法代码Web窗体载入时,触发 Page.load 事件,将判断从 ProShow.aspx 传递过来的 ProductId 是 否为空值, 若非空, 则获取 ProductId 值,再将 ProductId 值对应的商品信息添加到购物车。 然后,显示购物车中包含的商品数据。代码如下:protected void Page_Load(

8、object sender, EventArgs e)if (!IsPostBack)if (Request.QueryString ProductId != null )/ 自定义方法 AddProduct(int id) ,将指定商品编号的商品添加到购物车: protected void AddProduct( int id)int isExit = 0;Web编程基础实验报告for ( int j=0; jProfile.Cart.ProName.Count;j+)if (id = ( int )Profile.Cart.ProIdj)int s = ( int )Profile.Car

9、t.Qtyj;s+;Profile.Cart.Qtyj = s; Profile.Save();isExit = 1;MyPetShopDataContext db = new MyPetShopDataContext ();var product = ( from p in db.Product where p.ProductId = id select p).First(); Profile.Cart.ListPrice.Add(product.ListPrice);Profile.Cart.Qty.Add(1);Profile.Cart.ProId.Add(product.Product

10、Id);Profile.Cart.ProName.Add(product.Name);Profile.Save();/ 编写自定义方法 Bind() ,该方法将 Profile.Cart 中的所有购物记录存放到一个数据表 dt 中, 再将 dt 作为数据源,绑定到 gvCart 。protected void Bind()Profile.Cart.TotalPrice=TotalPrice().ToString(); lblTotalPrice.Text=Profile.Cart.TotalPrice;DataTable dt= new DataTable ();dt.Columns.Add(

11、 ProId );dt.Columns.Add( ProName);dt.Columns.Add( ListPrice );dt.Columns.Add( Qty );for ( int i=0;iProfile.Cart.ProName.Count;i+)DataRow row=dt.NewRow();row0=Profile.Cart.ProIdi; row1=Profile.Cart.ProNamei;row2=Profile.Cart.ListPricei;row3=Profile.Cart.Qtyi;dt.Rows.Add(row);gvCart.DataSource=dt;gvCa

12、rt.DataBind();Web编程基础实验报告/ 编写自定义方法 TotalPrice() ,该方法用于计算机购物车中的购物总金额protected decimal TotalPrice()decimal sum = 0;for (int j=0;jProfile.Cart.ProName.Count;j+) int qty = ( int )Profile.Cart.Qtyj;decimal listPrice = ( decimal )Profile.Cart.ListPricej; sum += qty * listPrice;事件protected void btnDelete_C

13、lick( object sender, EventArgs e)int productId = 0;for ( int i=0;igvCart.Rows.Count;i+) CheckBox chkProduct= new CheckBox();chkProduct =(CheckBox)gvCart.Rowsi.FindControl( chkProduct );if (chkProduct != null )if (chkProduct.Checked)int .Parse(gvCart.Rowsi.Cells1.Text);productId=DeleteProduct (produc

14、tId);/ 自定义方法 DeleteProduct(int id) ,用于在购物车中删除指定购物记录protected void DeleteProduct( int id)int j = 0;for (int i=0;iProfile.Cart.ProName.Count;i+)if (id = ( int )Profile.Cart.ProIdi)Web编程基础实验报告Profile.Cart.ListPrice.RemoveAt(j);Profile.Cart.ProId.RemoveAt(j); Profile.Cart.ProName.RemoveAt(j);Profile.Car

15、t.Qty.RemoveAt(j);Profile.Save();/ 按钮 btnClear 的 Click 事件 protected void btnClear_Click( object sender, EventArgs e)Profile.Cart.Qty.Clear(); Profile.Cart.ProName.Clear();Profile.Cart.ProId.Clear(); Profile.Cart.ListPrice.Clear();Profile.Save();Response.Redirect( ProShow.aspx );/ 按钮 btnComputeAgain

16、的 Click 事件 protected void btnComputeAgain_Click( object sender, EventArgs e)lblError.Text = ;MyPetShopDataContext db = new MyPetShopDataContext ();for (int i=0;iproduct.Qty) lblError.Text += Error: 库存不足,商品名为 +gvCart.Rowsi.Cells2.Text + 的库存量为 + product.Qty.ToString() + ; else ChangeQty( int .Parse(gv

17、Cart.Rowsi.Cells1.Text), int .Parse(txtQty.Text);Web编程基础实验报告/ 自定义方法 ChangeQty,根据指定商品编号修改对应的购买数量 protected void ChangeQty( int id, int qty)for (int i=0;iProfile.Cart.ProName.Count;i+)if (id =( int )Profile.Cart.ProIdi)Profile.Cart.Qtyi = qty; Profile.Save();/ 按钮 btnSettle 的 Click 事件 protected void bt

18、nSettle_Click( object sender, EventArgs e) Response.Redirect( SubmitCart.aspx );/ 按钮 btnContinue 的 Click 事件protected void btnContinue_Click( object sender, EventArgs e) Response.Redirect( ProShow.aspx );9.设计 SumbitCart.aspx 。10. 编写 SumbitCart.aspx.cs 中的方法代码:/ 按钮 btnContinue的 Click 事件protected void b

19、tnContinue Click1(object sender, EventArgs e)Response.Redirect(ProShow.aspx );/ 按钮 btnSubmit 的 Click 事件 , 首先在 Order 表中添加一天订单,其次在 OrderItem 表中添加该订 单的详细信息,然后修改 Product 表的商品库存,最后清空 Profile.Cart 中的各数组列表对象Web编程基础实验报告protected void btnSubmit_Click1( object sender, EventArgs e)MyPetShopDataContext db = new

20、 MyPetShopDataContext ();Order order = new Order ();order.UserName = 张三 ;order.OrderDate = DateTime.Now;order.Addr1 = txtZip.Text.Trim();order.Zip = txtZip.Text.Trim();order.Phone = txtPhone.Text.Trim();order.Status = 未审核 ;db.Order.InsertOnSubmit(order);db.SubmitChanges();int id = order.OrderId;for

21、(int i=0;iProfile.Cart.ProName.Count;i+)OrderItem orderItem = new OrderItem ();orderItem.OrderId = id;orderItem.ProName = (string )Profile.Cart.ProNamei;orderItem.ListPrice = (decimal )Profile.Cart.ListPricei;orderItem.Qty = (int )Profile.Cart.Qtyi;orderItem.TotalPrice = (int )Profile.Cart.Qtyi *( i

22、nt )Profile.Cart.ListPricei;db.OrderItem.InsertOnSubmit(orderItem); db.SubmitChanges();var product = ( from c in db.Product where c.ProductId = ( int )Profile.Cart.ProIdi select c).First();product.Qty -= orderItem.Qty; db.SubmitChanges();Profile.Cart.ProId.Clear();Profile.Cart.ProName.Clear();Profil

23、e.Cart.ListPrice.Clear();Profile.Cart.Qty.Clear();Profile.Cart.TotalPrice= ;lblMsg.Text = 已经成功结算,谢谢光临! ;11. 从浏览 ProShow.aspx 开始对 MyPetShop进行测试。Web编程基础实验报告2. 设利用 DetailsView控件实现数据插入、编辑、删除等操作(1) 设计 Web窗体:如图Web编程基础实验报告(2) 添加一个 DetailsView 控件和三个 LinqDataSource 控件,分别设其 ID 的属性值为: dvProduct 、 ldsProduct 、

24、ldsCategory 和 ldsSupplier2:如图配置 ldsProduct 的数据源为 Product 表。3配置 Category 表 如同步骤4配置 Supplier 表 如同步骤5单击 dvProduct 的智能标记,选择数据源为 ldsProduct 启用分页插入、编辑、删除,单击“编辑 字段”将 CategoryId 和 SuppId 字段转化为 TemplateField 字段Web编程基础实验报告配置 CategoryId 和 SuppId 字段如下图:浏览效果如下:Web编程基础实验报告实验八拓展( 1)修改 ProShow.aspx 页面,要求增加“商品编号”和“商

25、品分类号”的显示。 此步骤以在前面的实验中实现,在 ItemTemple 中插入两列如图:然后再将 Lable之后再编辑中输入(三)实验心得1、 遇到的问题和解决方法:实验中经常遇到 SQL数据库版本过低不能加载的问题, 也不知道为什么。 重启之后解决了。2、 收获:回顾本次的实验目的, 首先是要我们掌握 ListControl 类控件与数据源的绑定方法, 其实在 前面的有一章已经使用过该控件, 而经过这次制作学会了如何在 ListControl 类控件中显示 数据库数据。接着是要我们熟练掌握 GridView 控件的应用,实验中让我体会最深的就是这 个控件用来显示二维表格式的数据,它能很方便的实现数据绑定、分页、排序、行选择、更 新、删除等等功能。最后是 Details View 控件的应用,在制作前我浏览的书本,书本上的 介绍是此控件以表格型式显示和处理来自数据库的单条记录, 特点就是表格只包含两个数据 列。一个逐行显示各字段名,一个显示对应字段名的数据值。与 GridView 相比较就是多了Web编程基础实验报告 一个数据插入的功能。 在做完之后我发现了其实结合 GridView 和 Details View 管理数据是 非常方便的一个用于显示一个用于修改。 本次实验的编码的数据量比前面几个实验都要大,但用心做其实也不是非常难。

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

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