Web³ÌÐòÉè¼ÆÊµÑéÖ¸µ¼Êé1116

ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2026/5/21 7:33:55ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£

ͼ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) {

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@) ËÕICP±¸20003344ºÅ-4 ceshi