Ô´ÂëÍø,Ô´ÂëÂÛ̳,Ô´ÂëÖ®¼Ò,ÉÌÒµÔ´Âë,ÓÎÏ·Ô´ÂëÏÂÔØ,discuz²å¼þ,ÆåÅÆÔ´ÂëÏÂÔØ,¾«Æ·Ô´ÂëÂÛ̳

 ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á
Â¥Ö÷: ttx9n

[ASP.NET] ÔÚASP.NET 2.0ÖвÙ×÷Êý¾ÝÖ®ÈýÊ®Èý£º»ùÓÚDataListºÍRepeaterʹÓÃDropDownList¹ýÂ˵ÄÖ÷/´Ó±¨±í

[¸´ÖÆÁ´½Ó]

7Íò

Ö÷Ìâ

861

»ØÌû

32Íò

»ý·Ö

ÂÛ̳ԪÀÏ

Rank: 8Rank: 8

»ý·Ö
329525
·¢±íÓÚ 2016-5-9 11:51:59 | ÏÔʾȫ²¿Â¥²ã |ÔĶÁģʽ
Ç°ÃæÒѾ­½éÉܹýʹÓÃDropDownList¹ýÂ˵ÄÖ÷/´Ó±¨±í£¬²»¹ýµ±Ê±ÊÇ»ùÓÚGridView£¬±¾ÎÄËãÊǸ´Ï°Ò»Ï£¬»ùÓÚDataListºÍRepeaterÔÙ´ÎʵÏÖÒ»ÏÂÏàͬµÄ¹¦ÄÜ¡£

µ¼ÑÔ

¡¡¡¡ÔÚÇ°ÃæµÄʹÓÃDropDownList¹ýÂ˵ÄÖ÷/´Ó±¨±íÒ»ÕÂÀïÎÒÃÇʹÓÃGridView´´½¨µÄÖ÷/´Ó±í,ÏÔʾһЩ"Ö÷"¼Ç¼.Óû§¿ÉÒÔ¸ù¾ÝÖ÷¼Ç¼À´²é¿´"´Ó"(Ïêϸ)µÄÄÚÈÝ.Ö÷/´Ó±íÔÚ³ÊÏÖÒ»¶Ô¶à¹ØϵºÍº¬¶àÁеıíµÄÐÅϢʱÊÇÒ»¸öºÃµÄÑ¡Ôñ.ÔÚÇ°ÃæÎÒÃÇÒѾ­Ñ§¹ýÈçºÎʹÓÃGridViewºÍDetailsViewÀ´ÊµÏÖ.±¾ÕºͺóÃæÁ½ÕÂÎÒÃǽ«ÖØи´Ï°Ò»ÏÂÕâЩ¸ÅÄî,µ«ÊÇÖ÷ҪѧϰʹÓÃDataListºÍRepeaterÀ´ÊµÏÖ.±¾ÕÂÎÒÃǽ«Ñ§Ï°Ê¹ÓÃDropDownList°üº¬Ö÷¼Ç¼,¶øÔÚDataListÀïÏÔʾ´Ó¼Ç¼.

µÚÒ»²½: Ôö¼ÓÖ÷/´Ó½Ì³ÌÒ³

Ê×ÏÈÔö¼Ó±¾½Ì³Ì»áÓõ½µÄÎļþ¼Ð(DataListRepeaterFiltering)ºÍÒ³.н¨Ò³µÄʱºò¼ÇµÃÑ¡ÔñSite.master.

Default.aspx
FilterByDropDownList.aspx
CategoryListMaster.aspx
ProductsForCategoryDetails.aspx
CategoriesAndProducts.aspx

https://www.jb51.net/files.jb51.net/file_images/article/201605/2016050911481968.png
ͼ 1: ´´½¨DataListRepeaterFilteringÎļþ¼ÐºÍÒ³

È»ºó´ò¿ªDefault.aspxÒ³,½«SectionLevelTutorialListing.ascxÓû§¿Ø¼þÍϽøÀ´.

https://www.jb51.net/files.jb51.net/file_images/article/201605/2016050911482269.png
ͼ2: ÔÚDefault.aspxÒ³ÀïÔö¼ÓSectionLevelTutorialListing.ascx

ÎÒÃÇÐèÒª½«Ö÷/´Ó½Ì³ÌÌí¼Óµ½site mapÀï.´ò¿ªWeb.sitemap,½«ÏÂÃæµÄ±ê¼ÇÌí¼Óµ½¡°Displaying Data with the DataList and Repeater¡±½Úµãºó:

<siteMapNode
 title="Master/Detail Reports with the DataList and Repeater"
 description="Samples of Reports that Use the DataList and Repeater Controls"
 url="~/DataListRepeaterFiltering/Default.aspx">
 
 <siteMapNode
 title="Filter by Drop-Down List"
 description="Filter results using a drop-down list."
 url="~/DataListRepeaterFiltering/FilterByDropDownList.aspx" />
 
 <siteMapNode
 title="Master/Detail Across Two Pages"
 description="Master records on one page, detail records on another."
 url="~/DataListRepeaterFiltering/CategoryListMaster.aspx" />
 
 <siteMapNode
 title="Maser/Detail on One Page"
 description="Master records in the left column, details on the right,
   both on the same page."
 url="~/DataListRepeaterFiltering/CategoriesAndProducts.aspx" />
 
</siteMapNode>

https://www.jb51.net/files.jb51.net/file_images/article/201605/2016050911482270.png
ͼ 3: ¸üÐÂÖ®ºóµÄSite Map

µÚ¶þ²½: ÔÚDropDownListÀïÏÔʾCategories

¡¡¡¡ÎÒÃǵÄÖ÷/´Ó±í½«ÔÚDropDownListÀïÁгöcategories ,È»ºó½«Ñ¡ÔñµÄitemµÄproductÓÃDataListÏÔʾ³öÀ´.´ò¿ªDataListRepeaterFilteringÎļþ¼ÐÀïµÄFilterByDropDownList.aspxÒ³,ÍÏÒ»¸öDropDownList½øÀ´.½«DropDownListµÄIDÉèΪCategories.ÔÚÖÇÄܱêÇ©ÉÏÑ¡ÔñÑ¡ÔñÊý¾ÝÔ´,´´½¨Ò»¸öÃûΪCategoriesDataSourceµÄObjectDataSource

https://www.jb51.net/files.jb51.net/file_images/article/201605/2016050911482371.png
ͼ 4: Ìí¼ÓÒ»¸öÃûΪCategoriesDataSourceµÄ ObjectDataSource

¡¡¡¡Ê¹ÓÃCategoriesBLLÀàµÄGetCategories()·½·¨ÅäÖÃObjectDataSource.È»ºóΪDropDownListµÄtextºÍvalueÅäÖÃ×Ö¶Î(·Ö±ðΪCategoryNameºÍCategoryID).

https://www.jb51.net/files.jb51.net/file_images/article/201605/2016050911482372.png
ͼ 5: ÅäÖÃDropDownListµÄTextºÍValue

ÏÖÔÚDropDownListÀïÒѾ­ÁгöÁËCategories±íÀï¼Ç¼.¼ûͼ6.

https://www.jb51.net/files.jb51.net/file_images/article/201605/2016050911482673.png
ͼ 6: Íê³ÉºóµÄDropDownList

µÚÈý²½: Ìí¼ÓProducts DataList

¡¡¡¡ÏÂÃ潫ѡÔñµÄcategory¹ØÁªµÄproductÁгöÀ´.Ìí¼ÓÒ»¸öDataList,´´½¨Ò»¸öÃûΪProductsByCategoryDataSourceµÄObjectDataSource.ÓÃProductsBLLÀàµÄGetProductsByCategoryID(categoryID)À´ÅäÖÃËü.ÒòΪÎÒÃǵı¨±íÊÇÖ»¶ÁµÄ,ËùÒÔÔÚINSERT,UPDATEºÍDELETE±êÇ©ÀïÑ¡ÔñNone.

https://www.jb51.net/files.jb51.net/file_images/article/201605/2016050911482674.png
ͼ 7: Ñ¡ÔñGetProductsByCategoryID(categoryID)·½·¨

µãÏÂÒ»²½,Ïòµ¼»áÌáʾÎÒÃÇΪcategoryID²ÎÊýÑ¡Ôñsource.½«Parameter sourceÉèΪControl,ControlIDÉèΪCategories.

https://www.jb51.net/files.jb51.net/file_images/article/201605/2016050911482675.png
ͼ 8: ÉèÖÃcategoryID²ÎÊýΪCategories DropDownList

¡¡¡¡Íê³ÉÉÏÃæµÄÅäÖúó,Visual Studio»áΪDataList×Ô¶¯Éú³ÉÒ»¸öItemTemplateÀ´ÏÔʾÿ¸ö×ֶεÄnameºÍvalue.ÎÒÃÇÀ´×öһЩ¸Ä½ø,Ö»ÏÔʾproductµÄname,category,supplier,quantityºÍprice,²¢ÔÚÿ¸öitemÖ®¼ä¼ÓÒ»¸ö<hr>ÔªËØ(SeoaratorTemplate).ÎÒÃǽ«Ê¹ÓÃDataListºÍRepeaterÀ´ÏÔʾÊý¾Ý µÄItemTemplateÀý×Ó.ObjectDataSourceµÄ±ê¼ÇÓïÑÔÓ¦¸ÃºÍÏÂÃæ²î²»¶à:

<asp:DataList ID="DataList1" runat="server" DataKeyField="ProductID"
 DataSourceID="ProductsByCategoryDataSource" EnableViewState="False">
 <ItemTemplate>
 <h4>
  <asp:Label ID="ProductNameLabel" runat="server"
  Text='<%# Eval("ProductName") %>' />
 </h4>
 <table border="0">
  <tr>
  <td class="ProductPropertyLabel">Category:</td>
  <td><asp:Label ID="CategoryNameLabel" runat="server"
   Text='<%# Eval("CategoryName") %>' /></td>
  <td class="ProductPropertyLabel">Supplier:</td>
  <td><asp:Label ID="SupplierNameLabel" runat="server"
   Text='<%# Eval("SupplierName") %>' /></td>
  </tr>
  <tr>
  <td class="ProductPropertyLabel">Qty/Unit:</td>
  <td><asp:Label ID="QuantityPerUnitLabel" runat="server"
   Text='<%# Eval("QuantityPerUnit") %>' /></td>
  <td class="ProductPropertyLabel">Price:</td>
  <td><asp:Label ID="UnitPriceLabel" runat="server"
   Text='<%# Eval("UnitPrice", "{0:C}") %>' /></td>
  </tr>
 </table>
 </ItemTemplate>
 <SeparatorTemplate>
 <hr />
 </SeparatorTemplate>
</asp:DataList>
 
<asp:ObjectDataSource ID="ProductsByCategoryDataSource" runat="server"
 OldValuesParameterFormatString="original_{0}"
 SelectMethod="GetProductsByCategoryID" TypeName="ProductsBLL">
 <SelectParameters>
 <asp:ControlParameter ControlID="Categories" Name="categoryID"
  PropertyName="SelectedValue" Type="Int32" />
 </SelectParameters>
</asp:ObjectDataSource>

¡¡¡¡ÔÚä¯ÀÀÆ÷Àï¿´Ò»ÏÂÒ³Ãæ.µÚÒ»´Î·ÃÎÊʱ,ºÍBeverager¹ØÁªµÄproduct¶¼ÏÔʾ³öÀ´ÁË(ͼ9),µ«ÊǸıäDropDownList²»»á¸üÐÂÊý¾Ý,ÕâÊÇÒòΪ»¹¸üÐÂDataListÐèÒªpostback.ÎÒÃǽ«DropDownListµÄAutoPostBackÊôÐÔÉèΪtrue.

https://www.jb51.net/files.jb51.net/file_images/article/201605/2016050911483076.png
ͼ 9: µÚÒ»´Î·ÃÎÊʱ, ÏÔʾBeverageµÄ Products

https://www.jb51.net/files.jb51.net/file_images/article/201605/2016050911483077.png
ͼ 10: Ñ¡ÔñÒ»¸öеÄcategory(Produce),¸üÐÂDataList

¡¡¡¡Ìí¼ÓÒ»¸ö ¡°-- Choose a Category --¡± List ItemµÚÒ»´Î·ÃÎÊÒ³Ãæʱ,BeveagesĬÈϱ»Ñ¡ÖÐ,²¢ÇÒÔÚDataListÀïÏÔʾËüµÄproduct.ÔÚʹÓÃDropDownList¹ýÂ˵ÄÖ÷/´Ó±¨±í ÀïÎÒÃÇÌí¼ÓÁË¡°-- Choose a Category --¡±Ñ¡Ïî(ĬÈÏÏî),ÏÔʾËùÓеÄproduct.ÔÚGridViewÀïÏÔʾproductʱÕâÑùºÜ·½±ã.¶ø¶ÔDataList¶øÑÔ,ÿ¸öproductÒªÕ¼ºÜ´óÒ»¿éÆÁÄ»,Òò´ËÔÚÑ¡Ôñ¡°-- Choose a Category --¡±Ê±µ×Ͻ«²»ÏÔʾproduct.ÔÚDropDownListµÄÊôÐÔÀïÑ¡ÔñItemsÊôÐÔ,Ìí¼ÓÒ»¸öTextΪ¡°-- Choose a Category --¡±,ValueΪ0µÄÏî.

https://www.jb51.net/files.jb51.net/file_images/article/201605/2016050911483078.png
ͼ 11: Ìí¼Ó ¡°-- Choose a Category --¡± Ïî

ÄãÒ²¿ÉÒÔÖ±½ÓÔÚDropDownListµÄ±ê¼ÇÓïÑÔÀïÌí¼ÓÒÔÏ´úÂë:

<asp:DropDownList ID="categories" runat="server" AutoPostBack="True"
 DataSourceID="CategoriesDataSource" DataTextField="CategoryName"
 DataValueField="CategoryID" EnableViewState="False">
 
 <asp:ListItem Value="0">-- Choose a Category --</asp:ListItem>
 
</asp:DropDownList>
   

¡¡¡¡ÁíÍâÎÒÃÇÐèÒª½«DropDownListµÄAppendDataBoundItemsÉèΪtrue.ÒòΪÈç¹ûΪfalse(ĬÈÏ),µ±categories°ó¶¨µ½DropDownListʱ½«¸²¸ÇÊÖ¹¤Ìí¼ÓµÄlist item.

https://www.jb51.net/files.jb51.net/file_images/article/201605/2016050911483079.png
ͼ 12: Set the AppendDataBoundItems Property to True

¡¡¡¡ÎÒÃǽ«¡°-- Choose a Category --¡± µÄvalueÉèΪ0ÊÇÒòΪϵͳÀïûÓÐcategoriesµÄvalueΪ0,Òò´Ëµ±Ñ¡ÔñÕâÌõcategoryʱ²»»áÓÐproduct·µ»Ø.ä¯ÀÀÒ»ÏÂÍøÒ³À´È·ÈÏÕâµã.¼ûͼ13.

https://www.jb51.net/files.jb51.net/file_images/article/201605/2016050911483180.png
ͼ 13: Ñ¡ÖС°-- Choose a Category --¡± ʱ, ûÓÐProducts ±»ÏÔʾ

¡¡¡¡Èç¹ûÄãÏëÔÚÑ¡Ôñ¡°-- Choose a Category --¡± ʱÏÔʾËùÓеÄproduct,½«ËüµÄvalueÉèΪ1.ϸÐĵĶÁÕß»á¼ÇÆðÀ´ÔÚʹÓÃDropDownList¹ýÂ˵ÄÖ÷/´Ó±¨±í ÀïÎÒÃǸüÐÂÁËProductsBLLÀàµÄGetProductsByCategoryID(categoryID)·½·¨,Èç¹ûcategoryIDΪ1ʱËùÓеÄproduct¼Ç¼»á±»·µ»Ø.

×ܽá

¡¡¡¡µ±ÏÔʾ²ã´Î¹ØϵµÄÊý¾Ýʱ,ʹÓÃÖ÷/´Ó±íÀ´Õ¹Ê¾Êý¾ÝºÜÓаïÖú.Óû§¿ÉÒÔͨ¹ýËü´Ó×î¸ß²ãµÄÊý¾Ý¿ªÊ¼,Öð½¥½øÈë×îϸ½ÚµÄÊý¾Ý.ÔÚ±¾ÕÂÎÒÃÇѧϰÁËÒ»¸ö¼òµ¥µÄÖ÷/´Ó±íÀ´ÏÔʾѡÖеÄcategoryϵÄproduct.ÎÒÃÇÓÃDropDownListÁгödategory,DataListÀ´ÏÔʾproduct.ÔÚÏÂÕÂÎÒÃǽ«Ñ§Ï°½«Ö÷/´Ó¼Ç¼·Ö¿ªµ½Á½¸öÒ³Ãæ.ÔÚµÚÒ»¸öÒ³Àï,ÏÔʾËùÓеÄ"Ö÷"¼Ç¼,²¢ÓÐÒ»¸öÁ´½Óµ½"´Ó"ÐÅÏ¢µÄlink.µãÕâ¸ölinkÓû§»á¿´µ½ÏÔʾϸ½ÚÐÅÏ¢µÄÒ³.

¡¡¡¡×£±à³ÌÓä¿ì!

×÷Õß¼ò½é

¡¡¡¡Scott Mitchell£¬ÖøÓÐÁù±¾ASP/ASP.NET·½ÃæµÄÊ飬ÊÇ4GuysFromRolla.comµÄ´´Ê¼ÈË£¬×Ô1998ÄêÒÔÀ´Ò»Ö±Ó¦Óà ΢ÈíWeb¼¼Êõ¡£ScottÊǸö¶ÀÁ¢µÄ¼¼Êõ×Éѯ¹ËÎÊ£¬Åàѵʦ£¬×÷¼Ò£¬×î½üÍê³ÉÁ˽«ÓÉSams³ö°æÉç³ö°æµÄÐÂ×÷£¬24СʱÄÚ¾«Í¨ASP.NET 2.0¡£ËûµÄÁªÏµµçÓÊΪmitchell@4guysfromrolla.com£¬Ò²¿ÉÒÔͨ¹ýËûµÄ²©¿Íhttp://ScottOnWriting.NETÓëËûÁªÏµ¡£

»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

0

Ö÷Ìâ

1Íò

»ØÌû

0

»ý·Ö

Ö춻áÔ±

Rank: 3Rank: 3

»ý·Ö
0
·¢±íÓÚ 2022-10-24 12:47:43 | ÏÔʾȫ²¿Â¥²ã
ˢˢˢˢˢˢˢˢˢˢˢˢˢˢˢ

0

Ö÷Ìâ

2Íò

»ØÌû

124

»ý·Ö

×¢²á»áÔ±

Rank: 2

»ý·Ö
124
·¢±íÓÚ 2022-12-15 00:50:20 | ÏÔʾȫ²¿Â¥²ã
ÎÊÎÊÎÊÆó¶ìÍÛÍÛÍÛÍÛÍÛ

11

Ö÷Ìâ

2Íò

»ØÌû

300

»ý·Ö

Ö춻áÔ±

Rank: 3Rank: 3

»ý·Ö
300
·¢±íÓÚ 2024-3-13 13:42:26 | ÏÔʾȫ²¿Â¥²ã
À²À²À²À²À²µÂÂêÎ÷ÑÇ

0

Ö÷Ìâ

2Íò

»ØÌû

0

»ý·Ö

Ö춻áÔ±

Rank: 3Rank: 3

»ý·Ö
0
·¢±íÓÚ 2024-4-18 05:47:03 | ÏÔʾȫ²¿Â¥²ã
Ϊȫ¶îÍòǧÍß

3

Ö÷Ìâ

2Íò

»ØÌû

301

»ý·Ö

Ö춻áÔ±

Rank: 3Rank: 3

»ý·Ö
301
·¢±íÓÚ 2024-5-13 22:27:25 | ÏÔʾȫ²¿Â¥²ã
»¹ÓÐÈËÔÚ²»¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£°¡

3

Ö÷Ìâ

2Íò

»ØÌû

294

»ý·Ö

Ö춻áÔ±

Rank: 3Rank: 3

»ý·Ö
294
·¢±íÓÚ 2024-7-21 07:20:41 | ÏÔʾȫ²¿Â¥²ã
¿´¿´¿´¿´

3

Ö÷Ìâ

2Íò

»ØÌû

50

»ý·Ö

×¢²á»áÔ±

Rank: 2

»ý·Ö
50
·¢±íÓÚ 2024-7-22 08:12:21 | ÏÔʾȫ²¿Â¥²ã
²»´íµÄÔ´ÂëÂÛ̳

0

Ö÷Ìâ

1Íò

»ØÌû

100

»ý·Ö

×¢²á»áÔ±

Rank: 2

»ý·Ö
100
·¢±íÓÚ 2024-7-29 19:41:04 | ÏÔʾȫ²¿Â¥²ã
¸ã¸öÃâ·ÑµÄÓÃÓÃ

6

Ö÷Ìâ

1Íò

»ØÌû

174

»ý·Ö

×¢²á»áÔ±

Rank: 2

»ý·Ö
174
·¢±íÓÚ 2024-8-13 11:38:31 | ÏÔʾȫ²¿Â¥²ã
ÓÐʲôºÃµÄ·þÎñÆ÷
¸ß¼¶Ä£Ê½
B Color Image Link Quote Code Smilies

±¾°æ»ý·Ö¹æÔò

ÊÖ»ú°æ|СºÚÎÝ|ÍøÕ¾µØͼ|Ô´ÂëÂÛ̳ ( º£Íâ°æ )

GMT+8, 2025-2-1 18:01 , Processed in 0.068546 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí