none
GridView點擊超連結後如何呼叫某個自訂的函數 RRS feed

  • 問題

  • 小弟是個新手
                                                                                   
    我現在想做一個查詢的功能
                                                                                   
    查詢的結果出來之後
                                                                                   
    GRIDVIEW裡的商品名稱是超連結
                                                                                   
    點擊之後
                                                                                   
    會連到另外一個頁面
                                                                                   
    並且把點擊的那一欄裡的ID傳到另一個頁面
                                                                                   
    我搜尋之後是用DATABIND把GRIDVIEW更新
                                                                                   
    然後在GridView1_RowDataBound裡面
                                                                                   
    CType(e.Row.Cells(1).Controls(0), HyperLink).Attributes.Add("onclick","aa")
                                                                                   
    想要讓他呼叫ASP.VB裡面的函數(用來設定SESSION)

    最後再另一個頁面顯示時用SESSION裡面的值 來更新那個頁面GRIDVIEW
                                                                                   
                                                                                   
    我現在的問題是 我設定的ONCLICK沒辦法呼叫到我要的函數
                                                                                   
    請大家幫幫我 或是有其他要在敘述明白的請告訴我
    2010年1月1日 上午 05:31

解答

  • 1.javascript不能設定Session
    2.GirdView的精靈就有寫範例了,你只要設定綠色框裡面的屬性就行了
    • 已標示為解答 叮噹 2010年1月1日 上午 07:58
    2010年1月1日 上午 07:38
    版主

所有回覆

  •                                                                                
    CType(e.Row.Cells(1).Controls(0), HyperLink).Attributes.Add("onclick","aa")
    有幾個方法
    1.如果「aa」是你的javascript function的話,那就改成這樣
    CType(e.Row.Cells(1).Controls(0), HyperLink).Attributes.Add("onclick","aa();")

    2.直接用HyperLinkField的DataNavigateUrlFormatString屬性去做

    3.如果「aa」是你的vb程式碼,那表示你的觀念錯誤。你得等PostBack之後再執行aa這個vb function
    2010年1月1日 上午 06:21
    版主
  • 謝謝回覆 不過我還有一些疑問

    1.請問在javascript function 可以設定SESSION嗎

    2.
     <asp:HyperLinkField DataNavigateUrlFields="gid"
                        DataNavigateUrlFormatString="GoodsQA.aspx"  DataTextField="gname"
                        HeaderText="商品名稱" />  

    因為我是想要使用者點擊這個欄位的超連結之後

    連到GoodsQA頁面並且把這次要查詢的gid記住

    連到GoodsQA頁面後  就會用剛剛的GID來顯示一個GRIDVIEW

    這個傳參數的過程可以不要用SESSION嗎

    2010年1月1日 上午 06:37
  • 1.javascript不能設定Session
    2.GirdView的精靈就有寫範例了,你只要設定綠色框裡面的屬性就行了
    • 已標示為解答 叮噹 2010年1月1日 上午 07:58
    2010年1月1日 上午 07:38
    版主
  • 感謝阿尼大大

    終於解決這個問題了
    2010年1月1日 上午 07:58