操作回顧
本示例創建了一個目錄該目錄非常類似於Wrox United Web站點上的目錄還創建了作為圖像按鈕的圖像這將最終作為單個產品項頁面的鏈接如果單擊某個圖像此時不會轉到任何位置但在其他所有方面它都與示例站點相同在這個試一試部分兩個控件執行這個操作如果返回到Visual Web Developer並且查看這個頁面的源代碼將可以看到如下代碼
<asp:SqlDataSource ID=SqlDataSource runat=server ConnectionString=<%$ ConnectionStrings:WroxUnitedConnectionString %> SelectCommand=SELECT [Name] [Description] [Price] [ProductID] [PictureURL] FROM [Products]></asp:SqlDataSource>
<asp:DataList ID=DataList runat=server DataKeyField=ProductID DataSourceID=SqlDataSource
RepeatColumns= RepeatDirection=Horizontal Width=px>
<ItemTemplate>
<asp:ImageButton ID=ImageButton runat=server ImageUrl=<%# Eval(PictureURL ProductImages\thumb_{}) %> OnClick=ImageButton_Click PostBackUrl=<%# Eval(ProductID WroxShopItemaspx?ProductID={})%> /><br />
<asp:Label ID=NameLabel runat=server Text=<%# Eval(Name) %>></asp:Label><br />
<asp:Label ID=PriceLabel runat=server Text=<%# Eval(Price {:C}) %>></asp:Label>
</ItemTemplate>
</asp:DataList>
第一個控件SqIDataSourcel是作為目錄來源的控件Wrox United Web站點中銷售商品的詳情存儲在Products表中它包含允許連接到數據庫的連接字符串並且也包含一個SelectCommand屬性指定將從Products表中獲取Name Description Price ProductID和圖像URL的SQL然而SqlDataSource單獨不顯示任何內容它需要DataList為其實現這一點
DataList包含個控件以及正確顯示目錄所需的格式首先將包含的Label控件替換為具有Image按鈕的PictureURL這樣做是因為標簽將只顯示圖像的文本URL例如ProductImages\Item gif如果沒有該圖像的話其次選擇一個ImageButton代替圖像因為需要產品項頁面的鏈接不需要移動或重新創建產品圖像的這個文件夾因為已經將其放置在Web站點文件夾中了需要做的只是按照如下方式引用它
Eval(PictureURL ProductImages\thumb_{})
數據綁定表達式具有兩個參數第一個是Products表中字段的名稱需要將這些字段綁定到圖像按鈕第二個是字段自身的內容(通過{o}指示)改變第二個參數從而它指向ProductImage文件夾然後放置thumb_ 它指示不需要使用完整尺寸的圖像而是針對目錄使用圖像的縮略圖
將標簽用於目錄中的其他兩項因為只需要顯示文本但對於價格需要改變格式從而它以$的貨幣格式顯示而不僅僅是最後改變布局使它以水平網格的格式顯示商品每行中顯示個商品
ASPNET 入門教程完整版
[] [] []
From:http://tw.wingwit.com/Article/program/net/201311/15709.html