這個控制項大家並不陌生,就是當有多個Panel的時候一次只想顯示一個Panel就用這個東西來控制,這個東西的簡單的使用我也不一一說了,現在我要是想在這個控制項的某個Panel裡面加事件怎麼做呢?我相信用過這個控制項的人都知道這個控制項中的Panel也就是AccordionPane控制項中的<Head><Content>裡面的東西都是不能在介面編輯的,只能在源檔案裡面編輯,但是現在我要給某個<Content>裡面某個按鈕加個點擊事件怎麼辦呢?我也沒有找到什麼好的方法,現在的解決步驟就是先將這個按鈕拿在這個AccordionPane控制項外面做好這個控制項應該做的事情然後再在原始碼裡頭把這個按鈕的相關原始碼複製到AccordionPane控制項的<Content>裡頭去。
看個圖片效果把:原始碼:
旁邊圖片的原始碼
1 <cc1:AccordionPane ID="AccordionPane1" runat="server" Font-Overline="true" BackColor="Navy">
2 <Header>
3 <br />
4 <a href="#">測試事件</a>
5 <br />
6 </Header>
7 <Content>
8 <asp:UpdatePanel ID="ppp" runat="server">
9 <ContentTemplate>
10 <asp:Panel ID="Panel1" runat="server" Height="50px" Width="125px" BackColor="lightblue">
11 <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
12 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
13 <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></asp:Panel>
14 </ContentTemplate>
15 </asp:UpdatePanel>
16 </Content>
17 </cc1:AccordionPane>
然後就ok了,。細心點會發現我的這個裡面有個UpdatePanel控制項,這個也是我特意測試的,發現這個裡面可以使用UpdatePanel來非同步請求資料,但是像我上面的這樣寫是不行的,這樣會報錯的,錯誤提示也很簡單,就是要將這個AccordionPane放在一個UpdatePanel裡面才可以,所以在這個控制項中使用無重新整理的東西的話就要有兩個UpdatePanel,一個就放在我上面寫的地方,還一個要放在AccordionPane外面,或者一個UpdatePanel也可以哦,就是使用最外面的一個,我之所以在Content裡面放一個UpdatePanel就是與TabContainer控制項區別開來,好像我以前也說過在TabContainer控制項中的 <ContentTemplate>裡面使用UpdatePanel就沒有什麼事吧,隨便怎麼用也不會提示外面還要一個UpdatePanel哦,這兩個控制項還有點細節哦。現在在研究TabContainer控制項使用自訂的樣式表,好像也有些問題,看了官方網站的說明,外國人也提到過這個問題,但是沒有看到解決方案。不曉得哪位高手用這個控制項的時候使用過自己定義的樣式表沒有,在這個控制項的屬性框中可以看到CssClass=ajax__tab_xp,但是切換到原始碼裡面是沒有的,看了控制項的原始碼,這個控制項暫時使用的是內建的樣式,自訂的還得繼續研究吧....