在這個試一試練習中將修改上一個試一試練習中的示例在DetailsView控件中只顯示一場比賽而不是以層疊的方式顯示所有比賽所顯示的比賽由查詢字符串中的比賽標識符(FixtureID)決定
()按如下方式創建FixturesStackedaspx頁面的一個副本在Solution Explorer中選中FixturesStackedaspx頁面右擊並選擇Copy右擊站點的根目錄並選擇Paste在文件列表中找到Copy of FixturesStackedaspx將其重命名為FixturesOneaspx
()選擇DetailsView控件並禁止分頁功能
()選擇SqlDataSource控件打開它的智能任務面板單擊Configure Data Source
()單擊Next以保持當前的連接轉入Select Statement的配置不需要修改源表或字段單擊WHERE按鈕以打開Add WHERE Clause對話框
()從Column下拉列表中選擇FixturelD
()接受等於操作符並將Source設置為QueryString在Parameter properties面板中將QueryString字段設置為FixID(輸入該字段名)將其默認值設置為單擊Add 然後單擊OK單擊Next並測試注意在測試開始之前VWD允許您手動輸入將要放入查詢字符串中的值測試默認值然後測試其他不同的值單擊Finish繼續
()VWD記錄數據源提供給DetailsView控件的數據將發生變化這使得您有機會重新創建數據綁定控件以使其和數據源控件的新設置保持同步同意更新您還可以在任何時候通過單擊智能任務面板中的Refresh Schema執行這種同步最後的源代碼如下所示
<%@ Page Language=VB MasterPageFile=~/sitemaster AutoEventWireup=false CodeFile=FixturesOneaspxvb Inherits=Fixtures_Stacked title=Untitled Page %>
<asp:Content ID=Content ContentPlaceHolderID=mainContent Runat=Server>
<asp:DetailsView ID=DetailsView runat=server
AutoGenerateRows=False
DataKeyNames=FixtureID
DataSourceID=SqlDataSource
Height=px Width=px>
<PagerSettings
Mode=NumericFirstLast
FirstPageText=First Game of the Season
LastPageText=Last Game of the Season/>
</asp:DetailsView>
<asp:SqlDataSource ID=SqlDataSource runat=server
ConnectionString=<%$ ConnectionStrings:WroxUnitedConnectionString %>
SelectCommand=SELECT * FROM [Fixtures] WHERE ([FixtureID] = @FixtureID)>
<SelectParameters>
<asp:QueryStringParameter DefaultValue=
Name=FixtureID
QueryStringField=FixID
Type=Int />
</SelectParameters>
</asp:SqlDataSource>
</asp:Content>
[] [] []
From:http://tw.wingwit.com/Article/program/net/201311/15326.html