ASP.NET提供一種方便的資料存取方式「資料繫結(DateBind)」,讓使用者可寫出實用的資料庫應用程式。
※「資料繫結」就是將[控制項]與[資料]連繫在一起,讓控制項可自動讀取資料並顯示在控制項之中。
在 Web.Config中的<connectionStrings>標籤內,以<add/>標籤加入「資料庫之連接字串」後,前台網頁中就可以用<%$ ConnectionStrings:連接字串名稱 %>的方式來表示整個連接字串的內容。
- <%$ ...%>是專用於存取Web.Config檔案中設定內容的特殊語法。
- <%# ...%>資料繫結運算式的表示法。
-----------Web.Config 範例如下:-----------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<!-- 如需如何設定 ASP.NET 應用程式的詳細資訊,請造訪 http://go.microsoft.com/fwlink/?LinkId=169433 -->
<configuration>
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\DataBase1.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
</configuration>
※備註:|DataDirectory| 此表示網站的App_Data資料夾。
-------------------------------------------------------------------------------------------------------------
顯示資料的控制項,目前常見的三種,如下:
----------------------------------------------------------------------------------------------
※GridView、DetailsView、FormView三者的差異:(2015/7/7補充)
→GridView的HTML原始碼,每一個欄位都放在<asp:Columns>.....</asp:Columns>標籤內部
→DetailsView的HTML原始碼,每一個欄位都放在<asp:Fields>.......</asp:Fields>標籤內部
→FormView控制項的每一個樣板,都直接寫在<asp:FormView>....</asp:FormView>標籤裡面
※再「分頁」與「排序」功能上,GridView支援CallBack(就是AJAX非同步的功能),而DetailsView只有「分頁」支援CallBack,但FormView控制項缺乏CallBack介面。
-------------------------------------------------------------------------------------------------------
在GridView控制項中,使用BoundField欄位顯示來自資料庫的資料時,ASP.NET都會自行將資料庫中的資料,轉換成字串後顯示出來。
ASP.NET再將資料轉成字串時,有一套預設的轉換格式。對預設格式不滿意可在BoundField設定兩個屬性:DataFormatString屬性 與 HtmlEncode屬性
DataFormatString屬性:
指定一組「格式字串」,讓ASP.NET依程式設計師指定的格式來轉換、顯示來自資料庫的資料。
指定「格式字串」時,可使用如下的格式:
"{0:格式字元qq}"
※qq表示:
使用具有小數的格式時,可在格式字元後加上一數字表示有效位數,也就是要顯示到小術後第幾位。
舉例說明:
上述相關資訊請參考此網址:https://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.boundfield.dataformatstring(v=vs.110).aspx
--------------------------------------------------------------------------------------------------------------
HtmlEncode屬性:(預設值為True)
此設定ASP.NET在顯示資料前是否要將資料中出現的大於、小於符號等特殊字元加以編碼,也免干擾網頁的HTML標籤。
※因編碼的動作發生在套用格式字串之前,所以須將此屬性設為False,而DataFormatString屬性的設定才能生效。
參考書籍:新觀念ASP.NET4.0網頁程式設計(施威銘研究室 著)
顯示資料的控制項,目前常見的三種,如下:
- FormView:每次僅顯示一筆紀錄,但顯示格式可由網頁設計師全部自訂。
- GridView:以表格的方式條列出資料來源中每一筆紀錄。
- DetailsView:以表格的形式顯示資料,但每次僅顯示一筆紀錄。
----------------------------------------------------------------------------------------------
※GridView、DetailsView、FormView三者的差異:(2015/7/7補充)
→GridView的HTML原始碼,每一個欄位都放在<asp:Columns>.....</asp:Columns>標籤內部
→DetailsView的HTML原始碼,每一個欄位都放在<asp:Fields>.......</asp:Fields>標籤內部
→FormView控制項的每一個樣板,都直接寫在<asp:FormView>....</asp:FormView>標籤裡面
※再「分頁」與「排序」功能上,GridView支援CallBack(就是AJAX非同步的功能),而DetailsView只有「分頁」支援CallBack,但FormView控制項缺乏CallBack介面。
-------------------------------------------------------------------------------------------------------
在GridView控制項中,使用BoundField欄位顯示來自資料庫的資料時,ASP.NET都會自行將資料庫中的資料,轉換成字串後顯示出來。
ASP.NET再將資料轉成字串時,有一套預設的轉換格式。對預設格式不滿意可在BoundField設定兩個屬性:DataFormatString屬性 與 HtmlEncode屬性
DataFormatString屬性:
指定一組「格式字串」,讓ASP.NET依程式設計師指定的格式來轉換、顯示來自資料庫的資料。
指定「格式字串」時,可使用如下的格式:
"{0:格式字元qq}"
※qq表示:
使用具有小數的格式時,可在格式字元後加上一數字表示有效位數,也就是要顯示到小術後第幾位。
舉例說明:
上述相關資訊請參考此網址:https://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.boundfield.dataformatstring(v=vs.110).aspx
--------------------------------------------------------------------------------------------------------------
HtmlEncode屬性:(預設值為True)
此設定ASP.NET在顯示資料前是否要將資料中出現的大於、小於符號等特殊字元加以編碼,也免干擾網頁的HTML標籤。
※因編碼的動作發生在套用格式字串之前,所以須將此屬性設為False,而DataFormatString屬性的設定才能生效。
參考書籍:新觀念ASP.NET4.0網頁程式設計(施威銘研究室 著)
沒有留言:
張貼留言