找到多个具有相同 ID“_header”的控件。FindControl 要求控件具有唯一的 ID。错误的解决方法!


     找到多个具有相同 ID“_header”的控件。FindControl 要求控件具有唯一的 ID。错误的解决方法! 收藏
  今天想用Accordion做点东西,可是总是出错,本想放弃Accordion!
  找到多个具有相同 ID"_header"的控件。FindControl 要求控件具有唯一的 ID
  可不想对控件认输,就慢慢的试,结果发现:只是有些版本的AjaxControlToolkit中的Accordion会出现这种情况!
  解决方法:
  加上红色代码段就行了 
  
  1foreach(.........){
  2AccordionPane 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 =
  10foreach (DataRow node in dsManager.Tables[0].Rows)
  11 {
  12if (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();
  18apPane.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~

猜你喜欢

转载自bowld.iteye.com/blog/1572151
今日推荐