程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 善用GridView控件的HyperLinkField數據行

善用GridView控件的HyperLinkField數據行

編輯:.NET實例教程
借助於GridVIEw控件的HyperLinkFIEld數據行,我們便可以在GridVIEw控件中替每一筆數據列顯示出一個超級鏈接,並讓用戶輕易重新導向至特定的目標位置(特定網頁或網頁中的位置)。
 

在使用HyperLinkFIEld數據行時,首先要考慮的就是超級鏈接上的文字。關於此點,可分為下列兩種狀況來說明:
 
q          如果您希望每一筆數據列的超級鏈接都顯示相同的固定文字,請將HyperLinkFIEld數據行的Text屬性設定成所需的文字。圖表1所示者即是一例。
 
 
圖表1
 
q          如果您希望使用字段的內容作為每一筆數據列之超級鏈接的文字,請將HyperLinkFIEld數據行的DataTextFIEld屬性設定成該字段。圖表2所示者即是一例。

當然,最常與DataTextFIEld屬性搭配使用的不外乎就是DataTextFormatString屬性。我們經常使用DataTextFormatString屬性來格式化取自DataTextFIEld屬性所指定之字段的數據值。圖表3所示者即是一例。
 
 


圖表2
 
 
圖表3
 
學會如何設定HyperLinkFIEld數據行所產生之超級鏈接的文字之後,接下來就是學習設定超級鏈接的目標URL。如果您要讓所有的超級鏈接都連結至相同的URL,請直接將NavigateUrl屬性設定成所需的URL。這樣的設定雖然最為單純,但是卻也非常不切實際,畢竟就算是連結至相同的網頁,也會每一筆數據列連結至相同網頁中的不同位置(也就是書簽 - BookMark)。因此,較為實用的應該是DataNavigateUrlFIElds屬性,原因很簡單,它允許您指定某一個字段中的URL作為連結的目的地(請注意此屬性的名稱是以s結尾,這是有玄機的,稍後會加以說明)。以圖表4所示者而言,表示以「網址」字段中的URL作為連結的目的地,如此一來,不同的超級鏈接將會擁有各自的URL。
 
圖表4
 
當然,談到了DataNavigateUrlFIElds屬性,絕對不能忘了它的好兄弟 - DataNavigateUrlFormatString屬性。DataNavigateUrlFormatString屬性最主要的用途是用來格式化超級鏈接的URL。舉例來說,假設您指派給DataNavigateUrlFIElds屬性的字段並非內含完整的URL(例如:http://www.gotop.com.tw)而僅僅是內含網頁檔的名稱(例如:AlexPage.ASPx),此時如果希望超級鏈接的URL能夠在網頁檔的名稱前加上完整的位置路徑的話,您可以采用以下的寫法:
 
<ASP:HyperLinkField DataNavigateUrlFIElds="個人網頁"
                    DataNavigateUrlFormatString="~/Members/{0}"
                    HeaderText="個人網頁" Text="檢視個人網頁"<

/span> />
 
以上面的寫法而言,表示以連結至根目錄下之Members數據夾中的網頁文件。又以下面的寫法而言,則表示連結至一個絕對URL(也就是某網站)中之Members數據夾中的網頁文件:
 
<ASP:HyperLinkFIEld
 DataNavigateUrlFIElds="個人網頁"
 DataNavigateUrlFormatString="http://www.alexmember.com/Members/{0}"
 HeaderText="個人網頁" Text="檢視個人網頁"

yle="COLOR: blue">/>

 
談到這裡,相信大家對HyperLinkFIEld數據行都已經能夠運用自如,現在呢,我們要再回頭研究研究DataNavigateUrlFIElds屬性,為什麼它的名稱要特別以s結尾呢?原因很簡單,因為您可以指派一個以上的字段名稱給DataNavigateUrlFIElds屬性。什麼時候需要這樣做呢?舉例來說,當每一個超級鏈接的URL都是要連結至相同的網頁但是卻要傳遞查詢字符串給該網頁(類似如下所示),以便讓目標網頁根據不同的參數值來進行不同的處理時,就有需要這樣做:
 
MemberPage.ASPx?Name=章立民&MemberLevel=A
 
欲使您的超級鏈接擁有類似如上的URL,就必須借助於DataNavigateUrlFIElds屬性來構建之。這個時候,您必須將NameMemberLevel字段同時指派給DataNavigateUrlFIElds屬性(NameMemberLevel字段必須以逗號分隔),並利用DataNavigateUrlFormatString屬性來加以格式化即可。寫法如下所示:
 
<ASP:HyperLinkFIEld
 DataNavigateUrlFIElds="Name, MemberLevel"
DataNavigateUrlFormatString="MemberPage.ASPx?Name={0}&MemberLevel={1}" 
 

R: red">HeaderText="會員網頁" Text="檢視會員網頁" /> 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved