第一范文网 - 专业文章范例文档资料分享平台

Web程序设计实验指导书1116

来源:用户分享 时间:2025/6/10 22:10:52 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

图7-10 属性Columns值设置 表10-1 HyperLinkField字段各属性设置表

属性名 DataNavigateUrlFields 属性值 CategoryId 说明 数据列CategoryId将作为超链接的URL地址 DataNavigateUrlFormatString DataTextField HeaderText 属性名 DataField DataFormatString HeaderText (3)编写Category.ascx事件代码

在所有事件、方法外声明MyPetShopDataContext对象db,使得该对象可在多个事件代码或方法中使用,代码如下:

MyPetShopDataContext db = new MyPetShopDataContext();

页面载入时,将Category表中的CategoryId和Name字段以及各类商品的数量ProductCount绑定到gvProduct控件上,事件代码如下: protected void Page_Load(object sender, EventArgs e) {

var categories = from c in db.Category

join p in db.Product on c.CategoryId equals p.CategoryId into product select new {

c.CategoryId, c.Name,

ProductCount = product.Count() };

gvProduct.DataSource = categories; gvProduct.DataBind();

}

(4)添加测试页测试用户控件。

添加CategoryShow.aspx,将用户控件拖动到该页面上,则呈现如图7-11所示的设计页面。切换到“源”视图,可见在第二行添加了控件的注册代码如下:

<%@ Register src=\ tagname=\ tagprefix=\ %> 在

标签中添加了控件Category1,代码如下:

~/ProductShow.aspx?CategoryId={0} Name 分类名称 表10-2 BoundField字段各属性设置表

属性值 ProductCount {0} 商品数量 说明 将显示字段ProductCount的值 绑定字段的显示格式 表头的列名称 设置URL的格式 将显示字段Name的值 表头的列名称

图7-11设计界面(1)

(5)浏览CategoryShow.aspx进行测试。

2. 利用母版页重新设计MyPetShop各页面

(1)设计及母版页。

添加母版页MasterPage.master,如图7-2所示,添加一个用于布局的3行1列表格,将例子中的ProductShow.aspx页面的Div层Header复制到第1行中;将第2行的单元格拆分为两个单元格,在左边添加用户控件Category.ascx,在右边添加一个ContentPlaceHolder控件并将属性ID值设置为ContentPlaceHolderRight;在第3行输入版权声明,并设置单元格的属性Class值为Position。

(2)修改ProductShow.aspx页。

以MasterPage.master为母版新建ProductShow.aspx,将原ProductShow.aspx中的GridView控件gvProduct复制到控件ContentPlaceHolderRight中,设计完成后的界面如图7-12所示

图7-12 设计界面(2)

(3)编写ProductShow.aspx事件代码。

在所有事件、方法外声明MyPetShopDataContent对象db,使得该对象可在多个事件代码或方法中使用,代码如下:

MyPetShopDataContext db = new MyPetShopDataContext();

页面载入时,如果Request数据集合中包含类别CategoryId的值则调用自定义方法Bind()查找该类别的商品并绑定到gvProduct,事件代码如下: protected void Page_Load(object sender, EventArgs e) { if {

Bind(); // 调用自定义方法Bind()绑定商品信息到gvProduct }

}

自定义方法Bind()的代码如下: private void Bind() {

//获取选择的分类Id

if (Request.QueryString[\] != null) {

int categoryId = int.Parse(Request.QueryString[\]); //在Products表中查找满足条件的产品 var products = from p in db.Product

where p.CategoryId == categoryId select p; //将查找到的产品绑定到gvProduct gvProduct.DataSource = products; gvProduct.DataBind(); }

}

当改变gvProduct的当前页时,需要设置新的页面索引值,并重新显示包含的商品,因此,编写PageIndexChanging事件代码如下:

protected void gvProduct_PageIndexChanging(object sender, GridViewPageEventArgs e) {

搜索更多关于: Web程序设计实验指导书1116 的文档
Web程序设计实验指导书1116.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1hrih5l1i16rgfk15sw18xzko02xvg00ft4_13.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top