找到多個具有相同 ID“_header”的控件。FindControl 要求控件具有唯一的 ID。錯誤的解決方法!

今天想用Accordion做點東西,可是總是出錯,本想放棄Accordion!

找到多個具有相同 ID“_header”的控件。FindControl 要求控件具有唯一的 ID

   可不想對控件認輸,就慢慢的試,結果發現:只是有些版本的AjaxControlToolkit中的Accordion會出現這種情況!

解決方法:

     加上紅色代碼段就行了

代碼
1 foreach(.........){
2 AccordionPane apPane = new AccordionPane();
3 Label ltTitle = new Label();
4 ltTitle.Text = model.TopName.Trim();
5 ltTitle.ID = model.ID.ToString().Trim();
6 //該版的AjaxControlToolkit必須加上pane的id否則會報錯ID不唯一(其他版本則不會)
7 //apPane.ID = model.ID.ToString().Trim();
8   apPane.HeaderContainer.ID = model.ID.ToString().Trim();
9
10 foreach (DataRow node in dsManager.Tables[0].Rows)
11 {
12 if (model.ID.ToString().Trim() == node["topID"].ToString().Trim())
13 {
14 HyperLink hlContent = new HyperLink();
15 hlContent.ID = node["accessID"].ToString().Trim();
16 hlContent.Text = node["accessName"].ToString().Trim();
17 hlContent.NavigateUrl = node["accessPath"].ToString().Trim();
18 apPane.ContentContainer.ID = int.Parse(node["accessID"].ToString().Trim()) + i.ToString();
19
20 apPane.ContentContainer.Controls.Add(hlContent);
21 i++;
22 }
23 }
24 apPane.HeaderContainer.Controls.Add(ltTitle);
25 accdAdmin.Panes.Add(apPane);
26 }
27 //爲True時爲漸變效果(在伸縮時顏色變淡,伸縮完後顏色恢復正常)
28 //accdAdmin.FadeTransitions = true;
29 //在選擇某一標題後伸展和收縮過渡動畫所持續的時間;
30 //accdAdmin.TransitionDuration = 1200;

 

加上紅色代碼段就行了!初次發表文章,只是想和大家分享一下!O(∩_∩)O~

發佈了3 篇原創文章 · 獲贊 2 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章