国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

使用ASP.NET DetailsView顯示詳細信息

開發 后端
本文介紹了如何在asp.net 2.0中使用DetailsView顯示選中產品的詳細信息。ASP.NET DetailsView也通過配置ObjectDataSource來實現。

***一個步驟是在DetailsView中顯示選中產品的詳細信息. 要完成該功能, 添加一個DetailsView到頁面上, 設置它的ID屬性為ProductDetails, 給它創建一個新的ObjectDataSource. 配置ObjectDataSource使它通過ProductsBLL類的GetProductByProductID(productID)方法填充數據,使用ProductsByCategory DropDownList的已選擇項的值作為productID參數的值.

選擇使用ProductsBLL類 

ASP.NET DetailsView: 選擇使用ProductsBLL類

配置 ObjectDataSource 使用GetProductByProductID(productID)方法 

ASP.NET DetailsView: 配置 ObjectDataSource 使用GetProductByProductID(productID)方法

使用ProductsByCategory DropDownList的值作為productID參數的值 

ASP.NET DetailsView: 使用ProductsByCategory DropDownList的值作為productID參數的值

你可以選擇在DetailsView顯示的任何有效的字段. 我決定不顯示ProductID, SupplierID, 和CategoryID字段并且對其余的字段重新排序及格式化.另外, 我去掉了DetailsView的Height和Width屬性設置, 允許DetailsView可以擴展到需要的寬度, 這樣比把它限制在指定的大小會更好的顯示數據. 下面便是全部的標記性語言(markup)

  1. < asp:DetailsView ID="ProductDetails" runat="server" AutoGenerateRows="False" DataKeyNames="ProductID" 
  2.  
  3. DataSourceID="ObjectDataSource1" EnableViewState="False">  
  4.  
  5. < Fields>  
  6.  
  7. < asp:BoundField DataField="ProductName" HeaderText="Product" SortExpression="ProductName" />  
  8.  
  9. < asp:BoundField DataField="CategoryName" HeaderText="Category" ReadOnly="True" SortExpression="CategoryName" />  
  10.  
  11. < asp:BoundField DataField="SupplierName" HeaderText="Supplier" ReadOnly="True" SortExpression="SupplierName" />  
  12.  
  13. < asp:BoundField DataField="QuantityPerUnit" HeaderText="Qty/Unit" SortExpression="QuantityPerUnit" />  
  14.  
  15. < asp:BoundField DataField="UnitPrice" DataFormatString="{0:c}" HeaderText="Price" 
  16.  
  17. HtmlEncode="False" SortExpression="UnitPrice" />  
  18.  
  19. < asp:BoundField DataField="UnitsInStock" HeaderText="UnitsInStock" SortExpression="Units In Stock" />  
  20.  
  21. < asp:BoundField DataField="UnitsOnOrder" HeaderText="UnitsOnOrder" SortExpression="Units On Order" />  
  22.  
  23. < asp:BoundField DataField="ReorderLevel" HeaderText="ReorderLevel" SortExpression="Reorder Level" />  
  24.  
  25. < asp:CheckBoxField DataField="Discontinued" HeaderText="Discontinued" SortExpression="Discontinued" />  
  26.  
  27. < /Fields>  
  28.  
  29. < /asp:DetailsView>  
  30.  

花點時間在瀏覽器中測試一下MasterDetailsDetails.aspx頁面. 乍一看好像一切如預計的那樣順利, 但是卻有一個小問題. 當你選擇了一個新類別, ProductsByCategory DropDownList會更新顯示選中類別的產品, 但是ProductDetails DetailsView還是顯示上一個產品的信息. 當選擇了一個選中類別的不同的產品時DetailsView應該被更新. 此外,如果你的測試足夠徹底, 你將會發現如果你不斷的選擇新類別(比如在Categories DropDownList中選擇Beverages,然后選擇Condiments,然后是Confections)每個類別的選擇都會使ProductDetails DetailsView被刷新.

為了讓這個問題更具體一些, 讓我們看一個例子. 當你***次訪問該頁面時, Beverages類別是選中的并且與之相關的產品在ProductsByCategory DropDownList中列出. Chai是當前選中的產品,他的詳細信息顯示在ProductDetails DetailsView中, 如圖18.

DetailsView顯示了選中產品的詳細信息 

ASP.NET DetailsView: DetailsView顯示了選中產品的詳細信息

如果你把類別選項Beverages 改成 Condiments, 便會發生一次回發, ProductsByCategory DropDownList會相應的更新, 但是DetailsView仍然會顯示Chai的詳細信息.

圖19:上一次選擇產品的詳細信息仍然在顯示 

ASP.NET DetailsView:上一次選擇產品的詳細信息仍然在顯示

在列表中選擇一個產品會如預期地一樣刷新DetailsView, 如果你改變了產品之后選擇了一個新的類別, DetailsView又一次沒有刷新. 然后如果你選擇一個新類別而不是選擇一個產品, DetailsView則會刷新. 究竟是怎么回事呢?

這個問題是由頁面生命周期的時間調度引發的. 當頁面被請求時會經過一系列的處理后呈現出來. 這其中的一項處理便是ObjectDataSource控件檢查他的SelectParameters值是否發生變化. 如果發生了變化, WEB控件綁定到ObjectDataSource的數據便會刷新顯示. 比如, 當一個新類別被選中時, ProductsByCategoryDataSource ObjectDataSource發現它的參數值已經發生了變化,然后ProductsByCategory DropDownList就會重新綁定,獲取所選中類別的產品.

在這種情況下發生的該問題是由于在頁面的生命周期中ObjectDataSources檢查參數是否發生改變的動作是在關聯的WEB控件重新綁定之前. 因此,當選擇了一個新的類別ProductsByCategoryDataSource ObjectDataSource會檢查到它的參數值發生了變化. 但是, ProductDetails DetailsView使用的ObjectDataSource并沒有發生任何變化,因為ProductsByCategory DropDownList還沒有重新綁定. 在稍后的生命周期中ProductsByCategory DropDownList重新綁定到它的ObjectDataSource,獲取剛剛選中類別的產品. 當ProductsByCategory DropDownList的值發生變化的時候ProductDetails DetailsView的 ObjectDataSource已經完成了它的參數值檢查工作. 因此, DetailsView還是顯示先前的數據. 圖20描述了這個交互的過程.

T ProductDetails DetailsView的 ObjectDataSource的檢查工作結束后ProductsByCategory DropDownList的值才改變. 

ASP.NET DetailsView: T ProductDetails DetailsView的 ObjectDataSource的檢查工作結束后ProductsByCategory DropDownList的值才改變.

要解決這個問題,我們需要在ProductsByCategory DropDownList綁定后顯式的重新綁定ProductDetails DetailsView. 我們可以在ProductsByCategory DropDownList的DataBound事件中調用ProductDetails DetailsView的DataBind()方法. 把下面的事件處理代碼添加到MasterDetailsDetails.aspx頁面的代碼后置類:

  1. protected void ProductsByCategory_DataBound(object sender, EventArgs e)  
  2.  
  3. {  
  4.  
  5. ProductDetails.DataBind();  
  6.  
  7. }  
  8.  

添加對ProductDetails DetailsView的DataBind()方法的顯式調用后,就一切正常了. 圖21高亮顯示了該方法是如何解決這個問題的.

在ProductsByCategory DropDownList的DataBound事件中ProductDetails DetailsView被顯示的刷新. 

ASP.NET DetailsView:在ProductsByCategory DropDownList的DataBound事件中ProductDetails DetailsView被顯示的刷新.

DropDownList控件是一個非常理想的用于主/從報表(主記錄和從記錄存在一對多關系)的用戶接口元素(user interface element ). 在前面的教程中我們看到了如何使用單個DropDownList對選中的類別進行產品過濾. 在本教程中我們使用GridView代替了DropDownList做為產品列表, 使用DetailsView顯示選中產品的詳細信息. 本教程所討論的概念可以很容易的擴展到包含多個一對多關系的數據模型, 比如客戶,訂單及訂單項. 通常,在一對多的關系中你總是可以使用DropDownList 來表示"主"實體(一對多中的一,主/從關系的主記錄)

【編輯推薦】

  1. ASP.NET 2.0數據教程:給站點添加aspx頁面
  2. ASP.NET 2.0數據教程:創建母版頁
  3. ASP.NET跨頁面傳值的技巧
  4. ASP.NET 2.0數據教程:給DAL添加定制編碼
  5. ASP.NET 2.0數據教程:完成數據訪問層

責任編輯:book05 來源: 博客堂
相關推薦

2009-07-27 16:31:19

ASP.NET Det

2009-07-27 16:46:07

DetailsView

2009-08-03 17:35:07

ASP.NET WebASP.NET編程工具

2009-07-27 16:53:15

ASP.NET 2.0

2009-12-11 14:57:56

ASP.NET

2009-08-04 13:27:27

ASP.NET數據集

2012-04-06 13:52:58

ASP.NET

2009-07-28 03:42:00

ASP.NET Gri

2012-03-31 10:59:02

ASP.NET

2009-12-18 16:51:41

ASP.NET概述

2010-06-28 09:04:55

ASP.NET MVC

2009-07-23 14:08:58

2009-10-30 14:03:59

ASP.NET上傳文件

2009-07-28 17:17:19

ASP.NET概述

2009-08-03 14:22:33

什么是ASP.NET

2009-07-22 17:45:35

ASP.NET教程

2009-07-23 15:44:39

ASP.NET MVC

2009-07-27 09:45:14

ASP.NET Dro

2009-08-03 10:07:20

ASP.NET Ses

2009-08-10 14:55:43

ASP.NET htt
點贊
收藏

51CTO技術棧公眾號

国产成人激情av| 天天av综合网| 欧美视频国产精品| 欧美高清视频不卡网| 精品视频在线观看日韩| 午夜综合激情| 亚洲乱码国产乱码精品精可以看 | www黄色日本| 青青操视频在线| 国产日韩在线观看视频| 一本久道久久综合狠狠爱| 亚洲国产高清不卡| 国产视频精品免费播放| 欧美91精品久久久久国产性生爱| 日韩深夜福利网站| 久久99精品久久久| 日韩国产精品一区| 国产日本欧美在线| 香蕉视频免费在线| 国产精品久久综合| 亚洲国产成人精品女人久久久| 国产精品久久久久久久久久直播| 国产超碰在线观看| 亚洲高清在线一区| 99久久精品一区二区| 亚洲黄色www网站| 色哟哟一区二区在线观看| 国产精品草莓在线免费观看 | 电影天堂最新网址| 精品欧美久久| 精品国产1区2区| 成人动漫网站在线观看| 在线日本中文字幕| 99xxxx成人网| 五月天久久狠狠| 黄色亚洲网站| 综合婷婷亚洲小说| 国产在线观看91精品一区| 性感美女激情视频在线观看| 亚洲精品国产无套在线观| 99国产超薄肉色丝袜交足的后果| av在线免费观看网| 蜜臀av性久久久久av蜜臀妖精| 亚洲免费影视第一页| 欧美午夜性视频| 欧美一区电影| 国产视频亚洲精品| 黄色成人在线观看网站| 一区二区三区精密机械公司| 亚洲一区二区三区在线免费观看| 成人高清免费观看mv| 日韩激情第一页| 成人激情在线| 日本欧美精品久久久| 日韩一区免费| 欧美高清视频www夜色资源网| 北岛玲heyzo一区二区| 欧美精品激情在线观看| 国内精品一区视频| 久久久久久久久岛国免费| 91精品国产综合久久香蕉最新版| 尤物精品在线| 国产精品高潮呻吟久久av野狼| 亚洲精品激情| 成人激情视频在线播放| 麻豆成人91精品二区三区| 国产精品成人一区| 国产精品 日产精品 欧美精品| 91久久久国产精品| 青青一区二区| 欧美交受高潮1| 蜜桃av一区二区| 免费黄网站在线观看| 日韩亚洲欧美中文在线| 国产精品探花在线| 欧美亚洲综合久久| 免费看的毛片| 亚洲一二三区视频在线观看| 欧美伦理视频在线观看| 麻豆精品视频在线观看视频| 毛片在线免费| 国产精品无av码在线观看| 亚洲美女15p| 欧美孕妇毛茸茸xxxx| 日本欧美不卡| 欧美激情第一页xxx| 日韩欧美专区| 黄色国产一级视频| 国产精品乱码一区二三区小蝌蚪| 伊人久久视频| 国产视频九色蝌蚪| 久久久久这里只有精品| 丁香综合av| 97久久精品人搡人人玩| av综合网页| 国产精品6699| 国产精品亚洲产品| 先锋影音亚洲资源| 成人小视频在线观看| 欧美二区三区在线| 午夜激情在线观看| 欧美伦理影院| 久久久视频免费观看| 91精品二区| 国产视频亚洲视频| 色妞www精品视频| 香蕉视频在线播放| 欧美成人黄色网址| 亚洲国产日韩在线一区模特| 日韩精品久久一区二区三区| 高清一区二区三区| 精品一区2区三区| 日韩视频二区| 1024视频在线| 青梅竹马是消防员在线| 一本色道久久综合亚洲精品婷婷 | 日韩aaa久久蜜桃av| 日韩在线免费看| 又大又硬又爽免费视频| 亚洲影视资源网| 美女免费视频一区二区| 亚洲成人黄色| 国产污视频在线播放| 日韩美女免费观看| 国产99久久| 免费在线激情视频| 日韩欧美亚洲另类制服综合在线| 成人国产综合| 国产日韩一区二区三区| 成av人片一区二区| √天堂8在线网| 成人一区二区电影| 久久久精品国产网站| 精品伊人久久久久7777人| 亚洲a在线视频| 国产欧美日韩精品一区二区三区| 欧美va在线观看| 久草在线资源福利站| 国产欧美亚洲日本| 成人国产在线看| 一本到不卡免费一区二区| 国产精品亚洲综合一区在线观看| 久久久久久久久久久视频| 粉嫩一区二区三区在线看| 你懂的网址国产 欧美| 黄页在线播放| 欧美高清在线播放| 国产一区二区三区在线| ccyy激情综合| 欧美成人黑人| 91精品91久久久中77777老牛| 亚洲无玛一区| 国产精品videossex国产高清| 精品国产一区二区在线观看| 久久影院亚洲| 久久亚洲人体| 成人三级视频| 在线综合亚洲| 久久久久国产一区二区三区四区| 波多野结衣在线观看一区二区 | 欧美影院一区| 丁香婷婷激情| 97免费高清电视剧观看| 欧美日韩日本国产亚洲在线 | 欧美性猛交xxxx黑人交| 国产视频亚洲| 欧美自拍电影| 2019中文字幕视频| 99久热re在线精品996热视频| 精品国产亚洲一区二区三区在线观看| 国产伦精一区二区三区| 99re8这里有精品热视频8在线| 黄色直播在线| 尤物一区二区三区| 色综合久久综合| 日本网站在线观看一区二区三区 | 自拍偷拍免费精品| 99av国产精品欲麻豆| av漫画网站在线观看| 成人做爽爽免费视频| 精品欧美一区二区久久| 五月天久久网站| 国产原创中文在线观看| 91精品国产91久久久久久最新 | 91尤物视频在线观看| 日韩免费久久| 蜜桃免费在线视频| 91美女高潮出水| 一道本无吗dⅴd在线播放一区| 亚洲国产成人91porn| 久久成人免费电影| 精品高清久久| av成人免费| 91这里只有精品| 加勒比一区二区三区| 日韩精品一区二区三区电影| 日韩一区二区视频| 久久视频精品| 午夜爽爽视频| 国产精品99一区|