關於 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.台灣 ........