使用連結顯示詳細頁
在以往UltraDev的使用過程中要連結到顯示詳細資料頁一般都是透過「Go To Detail Page」伺服器行為,而NET環境下伺服器行為視窗中卻沒有提供該行為,那麼連結該如何做呢?答案還是在DataGrid控制項的設定中。
為了方便說明,我們把細節頁的要素也放在default.aspx頁面中。
先建立一個記錄集「DataSet2」用來顯示詳細資料的,建立方法很簡單,如圖只是設定序號為URL傳遞過來的「xid」參數。
在頁面中插入一個表格,將「DataSet2」記錄集中的欄位依序綁定到適當的位置,還有不要忘了使用Server Behaviors → Show Region → Show If DateSet Is Not Empty行為設定當「DataSet2」記錄集為空的時候隱藏表格,如下圖。
完成後我們要再次編輯DataGrid控件,在對話框中設定序號為傳遞“xid”參數的鏈接,在“Columns”域中選擇“序號”,然後點擊下方的“Change Column Type”轉換列類型按鈕選擇“ Hyperlink”超連結項
在彈出的“Hyperlink Culumn”對話框中如下設置
Title:「序號」-顯示列的標題
Hyperlink Text:-超連結文字,這裡包括有三個項目
Static Text:——你可以在此寫入文字作為鏈接
Data Field:「序號」-你可以選擇記錄集中的欄位作為連結
Format String:——你可以定義欄位的顯示格式
Linked Page:——連結到的頁面,這裡也有三個項目
Static URL:——連結到靜態的頁面
Date Field:「序號」-這裡是指選擇「序號」欄位作為傳遞到下頁的參數值Format String:「default.aspx?xid={0}」-使用右邊的按鈕選擇要連結到的頁,我們的細節記錄也在本頁就選擇「default.aspx」就可產生前面的字串,需要注意的是自動產生的參數名稱是中文的「序號」文字,我們在建立「DataSet2」記錄集時指定參數名為“xid”,所以這裡要手動修改。
完成後如下圖
點選“OK”返迴光碟測試一下吧。
其它的一些補充
1.在DataGrid控制項中我們已經用過了四種顯示類型,也基本上知道它們的使用方法,剩下一種是「Free Form」了。這是一種比較自由的顯示類型,你可以在這裡加入合併幾個動態記錄或在其中加入文本,也可以是表達控件,總之這是提供的一個靈活顯示手段。
2.大家應該還記得我們在編輯「Hyperlink Culumn」超連結對話框時有個「Format String」項目設定為空的,如果又需要又該如何設定呢?翻閱了ASP.NET文件我們作如下嘗試,在此框內加入字串“{0:X}”,如下圖
記憶體後在瀏覽器中我們可以看到下圖
「序號」欄位是以十六進位格式顯示數值的,原因是在格式字元「X」上,下面是幾個格式字元說明
C 以貨幣格式顯示數值。
D 以十進位格式顯示數值。
E 以科學記數法(指數)格式顯示數值。
F 以固定格式顯示數值。
G 以常規格式顯示數值。
N 以數字格式顯示數值。
X 以十六進位格式顯示數值。
3.如果需要「序號」欄位的連結是以新視窗形式開啟的,那該如何呢?這次DataGrid控制項中似乎沒有提供此功能,我們試著改改源碼吧。前往來源碼視窗,找到對應「序號」欄位的程式碼:
DataNavigateUrlField="序號"
DataNavigateUrlFormatString="default.aspx?xid={0}"
DataTextField="序號"
Visible="True"
HeaderText="序號"/>
在程式碼最後加上「Target="_new"」字串,使其成為
DataNavigateUrlField="序號"
DataNavigateUrlFormatString="default.aspx?xid={0}"
DataTextField="序號"
Visible="True"
HeaderText="序號"
Target="_new" />
好了,這樣就可以了,當你再次點擊序號上的連結記錄就是以新視窗形式出現了。
Dreamweaver MX中ASP.NET環境下的DataGrid控制基礎用處就這些吧,當然你可以利用修改程式碼獲得更多功能,還是老話,Dreamweaver MX在你開發ASP.NET時可以提供效率,而目前所具有功能的還十分不足,所以多看看源碼、了解源碼還是使用好Dreamweaver MX的關鍵。