APSNET沈士根实验报告(四)(DOC) 下载本文

内容发布更新时间 : 2025/2/15 19:20:43星期一 下面是文章的全部内容请认真阅读。

. . . . .

班级 计专141 学号14501111姓名 黄跃翔 完成日期 2015.6.2 实验室 理工楼320 指导老师 沈士根、叶晓彤 成绩__________

实验题目[数据绑定]

(一)实验目的

(1)掌握ListControl类控件与数据源的绑定方法 (2)熟练掌握GridView控件的应用 (3)掌握Details View控件的应用

(二)实验内容及步骤

1.设计并实现一个网上购物网站MyPetShop

在解决方案中新建一个MyPetShop网站,再在该网站的根文件下分别添加Web窗体ProShow.aspx,ShopChat.aspx和SubmitCart.aspx。其中,ProShow.aspx作为展示页;ShopChat.aspx作为购物车页;SubmitCart.aspx作为结算页。

2.参考实验7,分别在MyPetShop网站根文件下的APP_Data和App_Code文件夹中建立MyPetShop.mdf数据库和MyPetShop.dbml文件,操作后如图:

学习参考

. . . . .

3.将主教材程序源包中的Prod_Images文件夹复制到MyPetShop网站的根文件夹中。 4.设计ProShow.aspx 如图

学习参考

. . . . .

其中添加DropDownList和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 Page_Load(object sender, EventArgs e) {

if(!IsPostBack) {

var categories = from c in db.Category select new {

c.CategoryId, c.Name };

foreach(var category in categories) {

ddlCategory.Items.Add(new ListItem(category.Name.ToString(), category.CategoryId.ToString())); } Bind(); } }

//编写自定义方法Bind(),该方法根据选择的CategoryId显示分类中包含的商品。 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中显示该分类名包含的商品

protected void ddlCategory_SelectedIndexChanged(object sender, EventArgs e) {

Bind();

}

//当改变gvProduct的当前页后,触发PageIndexChanging事件,此时,需要重新设置新的页面索引值。

学习参考