關於 DataBinding,本站已經寫了五篇相關文章
如果您是初學者,建議您從頭學起:
DataBinding?資料繫結?資料綁定?DataBinding?資料繫結?資料綁定? #1--DataSourceID與DataSource?DataBinding?資料繫結?資料綁定? #2--DataSet + 繫結運算式DataBinding?資料繫結?資料綁定? #3--以DropDownList為例DataBinding?資料繫結?資料綁定? #4--繫結運算式原來可以這樣用?(DataSet / DataReader)
...............................................................................................................................................................
本文可以作為本書第12章 ListView的補充
Q: 在 ListView的樣板裡面,要使用 [繫結運算式] 作超連結(HyperLink控制項),該怎麼作?
-------------------------------------------------------------------------------------------------
在 GridView的樣板(Template / 模板)裡面,我們可以加上 HyperLink
例如 本書的9-1節那個範例,
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" CellPadding="4" DataKeyNames="id" DataSourceID="SqlDataSource1"。
<Columns>
<asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True"
SortExpression="id" />
<asp:BoundField DataField="test_time" DataFormatString="{0:yyyy/MM/dd}" HeaderText="test_time"
SortExpression="test_time" />
<asp:HyperLinkField DataNavigateUrlFields="id" DataNavigateUrlFormatString="Default_Disp.aspx?id={0}"
DataTextField="id">
<ItemStyle Font-Bold="True" Font-Size="Large" />
</asp:HyperLinkField>
<asp:BoundField DataField="summary" HeaderText="summary" SortExpression="summary" />
</Columns>
</asp:GridView>
設定畫面如下:

設定完成後,執行結果如下:

-------------------------------------------------------------------------------------------------
在 ListView裡面,我們找不到上面的設定畫面,所以必須自己動手寫:
原本的 ListView樣板假設有這樣一個欄位
<asp:Label ID="idLabel" runat="server" style="font-weight: 700"
Text='<%# Eval("id") %>'></asp:Label>
我們動手修改,把 Label改成 HyperLink
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl='<%# Eval("id") %>'
style="font-weight: 700; font-size: x-large" Text='<%# Eval("p_id") %>'></asp:HyperLink>
我們可以發現
NavigateURL / Text 這兩個屬性就是上面 GridView欄位(如上圖)裡頭,一模一樣的設定!
當然,還必須動手自己改寫一下:
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl='<%# "product_disp.aspx?p_id=" & Eval("p_id") %>'
style="font-weight: 700; font-size: x-large" Text='<%# Eval("p_name") %>'></asp:HyperLink>
如此一來, ListView的樣板,也能跟 GridView一樣,有超連結囉!
這部份我忘了寫在書裡面,所以作一個補充。
本文可以作為本書第12章 ListView的補充
...... 寄信給我 mis2000lab (at) 雅虎.com.台灣 ................................................................................................................
ASP.NET專題實務
(文魁出版,VB版 P8187 / C#版P09027)
下集已經出版囉~~~ASP.NET專題實務II:範例應用與4.0新功能 
.............................................................................................................. 寄信給我 mis2000lab (at) 雅虎.com.台灣 ........