2009-09-17 69 views
0

我試圖使用GridView和UpdatePanels構建一種Accordion效果。我在將所有東西捆綁在一起時遇到問題:ASP.Net:在GridView中使用UpdatePanel

<asp:GridView ID="gridMain" 
    runat="server" 
    ... 
> 

<Columns> 

... 

<asp:TemplateField ShowHeader="False"> 
<ItemTemplate> 

<span>Id:<%# Eval("Id") %></span> 

<a href="/* javascript code to open the updatepanel??*/" title="Open"><img ..../></a> 

<asp:UpdatePanel runat="server"> 
<ContentTemplate> 
<asp:PlaceHolder runat="server" Visible="false"> 

<asp:Label Text="??"/> 

</asp:PlaceHolder> 
</ContentTemplate> 
</asp:UpdatePanel> 


</ItemTemplate> 
</asp:TemplateField> 

</Columns> 

</asp:GridView> 

如何使用javascript打開更新面板?

+0

我從來沒有嘗試數據控件有UpdatePanel的,甚至不知道這是否會工作。您可能想嘗試JQuery的手風琴效果。 – 2009-09-17 15:00:53

回答

1

如果你真的想要去的UpdatePanel的方法,這裏是如何使其工作:

  1. 指定UpdatePanel的ID和佔位符控制
  2. 放一個LinkBut​​ton的UpdatePanel內和擺脫您目前有的鏈接
  3. 在GridView的ItemCommand中,使用FindControl獲取對PlaceHolder控件的引用並使其可見。您也可以在這裏使用Repeater而不是GridView。

現在我也說這可能不是最好的主意......但錘子,釘子,等...

0

對於手風琴的效果可能this website將有所幫助。 AJAX很好地處理它。

+0

我需要它在GridView中。該面板還必須在頁面訪問期間以獨立方式加載並可更新。 – 2009-09-17 15:26:35

+0

@Niels使用JQuery Ajax函數也可以做到這一點。 – 2009-09-17 16:06:29