ProviderName 和 ConnectionString 屬性的組合告訴 SqlDataSource 控件從哪個數據存儲中獲得數據。盡管這些屬性使 SqlDataSource 成為檢索和修改數據的簡單解決方案,但遺憾的是,它們在表示層的 ASPX 文件中公開了數據庫連接字符串以及 SQL 語句或存儲過程。這通常不是一個好主意。將該數據以加密形式存儲在配置儲存庫(如配置文件或注冊表)中要安全得多。
圖 4 顯示了編輯模式下的 Orders_SDS.aspx 頁。分頁由 GridView 自動實現(通過將 GridView AllowPaging 屬性設置為 true,并將 PageSize 屬性設置為期望的大小,如 10)。這將告訴網格將其中的行分頁,并且在“下一頁”或“上一頁”鏈接被單擊時自動重新加載網格和頁。GridView 使用 TextBox 控件顯示選定行的可編輯列。數據綁定列是通過 asp:BoundField 或 TemplateField 元素定義的。通過設置 DataField 屬性,可以將 BoundField 綁定到 GridView 的關聯數據源:
<asp:BoundField HeaderText="ShipCity" DataField="ShipCity"
SortExpression="ShipCity"></asp:BoundField>
這將告訴 GridView 控件,當它處于查看模式時,應該在 span 元素中顯示 ShipCity 值。當 GridView 處于編輯模式時,選定行中的這一列將在適當的 HTML 元素中顯示。在這種情況下,HTML 元素為 TextBox,因為它是一個字符串值。該元素是基于綁定列的數據類型選擇的。例如,如果該列在 SQL Server 中被定義為位,則將使用 CheckBox 控件在編輯模式下顯示該列。
TemplateField 元素在綁定列的行為方式方面提供了更大的靈活性。請觀察以下摘自 Orders_SDS.aspx 頁的代碼示例:
<asp:TemplateField SortExpression="OrderDate" HeaderText="OrderDate">
<ItemTemplate>
<asp:Label ID="lblOrderDate_Item" Runat="server"
文章來源于領測軟件測試網 http://www.kjueaiud.com/