成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用ASP.NET中的GridView和ObjectDataSource

開發 后端
本文介紹了如何在asp.net 2.0中通過使用GridView和ObjectDataSource空間添加產品表格。

在主/從報表的最后一步是列出與選定的類別相關聯的產品. 要實現該功能,在頁面上增加一個GridView控件然后創建一個數據源控件(ObjectDataSource)并命名為productsDataSource.讓productsDataSource控件從ProductsBLL類的GetProductsByCategoryID(categoryID)獲取數據.

選擇GetProductsByCategoryID(categoryID) 方法  

GridView和ObjectDataSource: 選擇GetProductsByCategoryID(categoryID) 方法

選擇該方法之后,數據源控件(ObjectDataSource)向導會提示我們定義該方法的categoryID參數值. 要使用categories DorpDownList中選擇的值, 設置參數源為Control, 設置ControlID為Categories.

categoryID 參數設置為Categories DropDownList的值 

GridView和ObjectDataSource: categoryID 參數設置為Categories DropDownList的值

花一點時間在瀏覽器中檢查一下我們前面所做的工作. 第一次訪問頁面時,那些屬于已選擇類別(Beverages)的產品已經顯示出來了(如圖9), 但是當改變DropDownList時并沒有更新產品數據.這是由于必須引發一次回發(postback)GridView才會更新.有兩個方法可以實現(兩種方法都不需要寫任何代碼):

• 設置 categories 的AutoPostBack 屬性為 True. (你可以選中DropDownList’s smart tag 上的Enable AutoPostBack 選項.) 這樣,只要用戶改變了DropDownList的選擇項都會引起一次回發. 所以, 當用戶在DropDownList中選擇了一個新的類別就會引起一次回發,GridView 也會隨著新選擇的類別更新產品數據. (在本教程中我們使用此方法.)

• DropDownList后面添加一個按鈕控件.  設置他的Text 屬性為”刷新”或類似的文本.使用這種方法, 用戶需要選擇一個新的類別然后單擊該按鈕.單擊按鈕將會引起一次回發并更新GridView顯示已選擇類別的產品.圖9和圖10演示了運行后的主/從報表.

第一次訪問該頁面時, 顯示Beverage 的產品  

GridView和ObjectDataSource: 第一次訪問該頁面時, 顯示Beverage 的產品

選擇一個新的產品,自動引起一次回發并更新GridView  

GridView和ObjectDataSource: 選擇一個新的產品,自動引起一次回發并更新GridView 

增加”選擇類別”列表項

第一次訪問FilterByDropDownList.aspx 頁時,類別DropDownList中第一個數據項(Beverages)默認是選中的, GridView中顯示的也是beverage類別的產品. 比起顯示第一個類別的產品, 我們可以為DropDownList 添加一個默認選擇項,比如 “—選擇類別 --”,這樣也許更友好一些.要給DropDownList增加一個新的數據項, 在屬性窗口中單擊Items 屬性的省略號圖標. 添加一個新的數據項并設置Text 為“—選擇類別--”設置Value 為-1.

增加 “—選擇類別--” 數據項 

GridView和ObjectDataSource:  增加 “—選擇類別--” 數據項

除了上面的方法,你還可以使用下面的標記性語言(markup)為DorpDownList添加一個數據項:

  1. < asp:DropDownList ID="categories" runat="server" AutoPostBack="True" DataSourceID="categoriesDataSource" 
  2.     DataTextField="CategoryName" DataValueField="CategoryID" EnableViewState="False">  
  3.     < asp:ListItem Value="-1">-- Choose a Category --< /asp:ListItem>  
  4. < /asp:DropDownList> 

另外,我們需要把DropDownList控件的AppendDataBoundItems屬性設置為True,因為數據源控件中的類別數據綁定到DropDownList 時, 將會覆蓋所有的手工增加的列表項,除非你的AppendDataBoundItems屬性設置True.

設置AppendDataBoundItems 屬性為True 

GridView和ObjectDataSource: 設置AppendDataBoundItems 屬性為True

這樣,第一次訪問該頁面時, ”—選擇類別—“數據項是被選中并且不顯示任何產品.

頁面第一次加載時不顯示產品 

GridView和ObjectDataSource: 頁面第一次加載時不顯示產品

沒有顯示產品的原因是由于”—選擇類別—“項被選中,該數據項的值是-1, 而數據庫中不存在CategoryID為-1的產品. 如果這正是你想要的那現在就可以打完收工了, 如果你希望在"--選擇類別--"項選中時顯示所有類別的產品,在ProductsBLL類中自定義GetProductsByCategoryID(categoryID)方法,如果categoryID參數值小于0則調用GetProducts()方法:

  1. public Northwind.ProductsDataTable GetProductsByCategoryID(int categoryID)  
  2. {  
  3.     if (categoryID <  0)  
  4.         return GetProducts();  
  5.     else 
  6.         return Adapter.GetProductsByCategoryID(categoryID);  

在這里使用的技巧與在后面的[聲明式語法]教程中顯示全部供應商的相似,盡管在這個例子中我們使用了-1而不是使用null來指示是否應該獲取全部記錄. 這是因為GetProductsByCategoryID(categoryID)中的categoryID參數需要一個整型值,與之相反,在[聲明式語法]教程中我們傳入了一個字符串參數.

圖14 顯示了當”—選擇類別—“項選中時FilterByDropDownList.aspx頁面的截屏. 此時,所有類型的產品默認全部顯示, 用戶可以通過選擇特定的類別來縮小顯示范圍

默認情況下顯示所有產品 

GridView和ObjectDataSource: 默認情況下顯示所有產品

【編輯推薦】

  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-24 15:35:00

ASP.NET Gri

2009-07-27 08:51:24

ObjectDataS

2009-07-27 09:01:44

ObjectDataS

2009-07-20 18:02:48

GridView控件ASP.NET 2.0

2009-07-27 15:58:25

添加GridView

2009-07-24 16:15:00

擴展ASP.NET G

2009-07-28 03:42:00

ASP.NET Gri

2009-07-27 16:09:05

GridView顯示數

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2009-06-12 09:24:34

ASP.NET窗體ASP.NET MVC

2009-08-14 13:20:29

ASP.NET Gri

2009-07-27 16:22:54

GridView選擇行

2009-07-29 16:08:07

ASP和ASP.NET

2009-08-04 17:20:37

PostBack和ViASP.NET

2009-07-22 18:03:00

ASP.NET ASP

2009-07-24 10:10:22

ASP.NET

2009-07-24 16:17:42

WebRequestEASP.NET

2009-08-03 18:29:31

GridView與Da

2009-01-16 13:17:16

AjaxASP.NET.NET

2009-01-08 10:20:56

AutoCompletAjaxASP.NET
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产伦一区二区三区观看方式 | 免费在线观看一区二区 | av网站免费观看 | 亚洲欧美日韩成人在线 | 中文字字幕一区二区三区四区五区 | 精品国产欧美在线 | 中文字幕成人 | 免费在线精品视频 | 一区二区三区亚洲精品国 | 久久久精品视频免费看 | 欧美中文字幕在线 | 日韩欧美国产一区二区 | 国产999精品久久久久久绿帽 | 一级日韩 | 久久99精品国产 | 国产精品成人国产乱一区 | 男女视频在线免费观看 | 久久91av| 99re在线视频 | 午夜免费小视频 | 成人福利电影 | 噜噜噜噜狠狠狠7777视频 | 欧美亚洲激情 | 99热视| 99国产精品99久久久久久粉嫩 | 91av导航 | 日韩中文字幕一区二区 | 91视频免费在观看 | 欧美精品一区二区三区在线 | 亚洲精选一区 | 二区久久 | 亚洲精品视频免费看 | 亚洲黄色一级 | 成人在线精品视频 | 成年人在线观看 | 亚洲精品在线看 | 日韩欧美在线观看 | 国产资源在线视频 | 亚洲成人播放器 | 久久久999成人 | 91免费电影 |