熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET入門教程 7.6 多個數據控件一起工作[1]

2022-06-13   來源: .NET編程 

    前一小節描述了一種使用參數的原始方法──在URL之後輸入參數開通的方法是使用一個數據綁定控件為其他數據綁定控件創建參數這在術語中稱為ControlParameters本節演示兩種非常普遍的情況在第一種情況中DropDownList控件決定了在GridView控件中顯示哪條(些)記錄在第二種情況中對GridView控件中的記錄進行選擇以使頁面在DetailsView控件中顯示該記錄的更多字段這些情況稱為主一從場景在主數據綁定控件中進行選擇將為從數據綁定控件的數據源控件的WHERE子句設立一個值絕大多數情況下主從數據綁定控件分別使用單獨的數據源控件

    在主控件中只需使用一個特定的屬性如果主控件是ListBox或DropDownIist必須將AutoPostBack屬性設置為True以便在主控件中做出選擇之後ASPNET 將觸發頁面進行刷新從而使子控件顯示變化後的記錄記住ListBox和DropDownList控件有兩個字段參數第一個是要顯示的字段(DataTextField屬性)而第二個是要在頁面的代碼中使用的字段(DataValueField屬性)例如這允許您在列表框中向用戶顯示球員的姓但在SQL語句中則使用更有用的值PlayerID如果主控件是GridView控件可以打開它的智能任務面板勾選Enable Selection復選框以使VWD為控件中的每條記錄創建一個新列該列帶有Select按鈕單擊該按鈕ASPNET將對選中的記錄做出反應如您稍後所見

    在子控件中必須在該控件的數據源控件的WHERE子句中設置一個參數在前一小節中您使用Configure Data Source Control向導的Add WHERE Clause對話框將參數設置在查詢字符串的一個字段中可以再次使用該向導但這次在Add WHERE Clause對話框中將列設置為等於某個控件(而不是查詢字符串)中的值該向導將顯示一個控件列表可以從中進行選擇在選擇的控件中決定使用哪個值通常是SelectionValue

    在下面的試一試練習中您將練習兩個控件組合在第一個組合中使用DetaiisView控件顯示在GridView控件中選擇的數據的其他字段在第二個組合中使用DropDownList控件在GridView控件內僅顯示特定的記錄

    ()現在創建最終版本的Fixturesaspx頁面將已存在的Fixturesaspx文件移動到一個自己創建的文件夾中並將其命名為OIdPages由於創建頁面的步驟非常迅速和簡單(而且是一次很好的復習)您將從頭開始使用Master頁面創建一個新的Web Form並將其命名為Fixturesaspx將其VB代碼保存在一個單獨的文件中切換到Design View

    ()打開Database Explorer導航到WroxUnitedmdf→Tables→Fixtures僅選擇FixturelD FixtureDate和opponents(使用Ctrl+單擊)個字段將它們拖放到頁面上VWD將稍微停頓然後創建一個GridView控件並自動打開它的智能任務面板勾選圖中所示的Enable Selection復選框注意VWD己經添加了Select按鈕列

    ()從工具箱中將一個DetailsView控件拖放到內容區域的底部選擇New的數據源將數據源控件的ID設置為SqlDataSource並繼續使用您在本章一直使用的WroxUnited連接字符串指定從Fixtures表中讀取數據並選擇所有字段

    ()單擊WHERE按鈕並選擇FixtureID列將操作符設置為等號並從Source下拉列表中選擇Control

    ()在參數屬性面板中將ControlID設置為GridView 默認值設置為不要忘記單擊Add按鈕單擊OK Next然後單擊Test Query按鈕(值正確)最後單擊Finish按鈕

    ()將DetailsView控件的寬度擴大一點保存該頁面並在浏覽器中查看在GridView控件中選擇不同的記錄並注意DetailsView控件中顯示的注釋

    ()現在改善Gallery頁面使其從單頁顯示變為分頁顯示在Solution Explorer中在根目錄下創建GalleryAllaspx頁面的一個副本將該副本的名稱修改為Galleryaspx

    ()打開Galleryaspx在頁面頂部添加一些換行符然後將一個DropDownList控件拖放到頁面頂部將數據源配置為類型Database的新源並命名為SqlDataSource使用WroxUnited數據庫從Fixtures表中選擇FixturelDFixtureDate和Opponents

    單擊ORDER BY在FixtureDate列上以升序排列單擊OKNext然後測試查詢並結束您將回到Choose a Data Source窗口把DataTextField設置為Opponents(暫時這樣)同時把DataValueField設置為FixtureID在仍然選中DropDownList控件的情況下從智能任務面板中打開Enable AutoPostBack開關

    ASPNET 入門教程完整版 

[]  []  []  


From:http://tw.wingwit.com/Article/program/net/201311/15201.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.