熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET 2.0 MasterPages and F

2013-11-13 10:24:24  來源: .NET編程 

  今天遇到這樣一個問題 在模板頁中放置的一個服務器控件竟然在調用引用該模板頁的page中找不到

  具體情況如下

  在模板頁中有一控件:

  <asp:HyperLink ID=hylkShowFollowers runat=server Text=列表鏈接></asp:HyperLink>

  有一個page引用了這個模板頁在page_load中通過調用MasterFindControl(hylkShowFollowers) 返回為空

  查了一些資料之後引起這個問題的原因是由於引用了masterpage之後呢控件的布局發生了改變需要通過遞歸調用

  才能找到該控件

  代碼如下:

  /// <summary>

  /// Finds a Control recursively Note finds the first match and exists

  /// </summary>

  /// <param name=ContainerCtl></param>

  /// <param name=IdToFind></param>

  /// <returns></returns>

  public static Control FindControlRecursive(Control Root string Id)

  {

  if (RootID == Id)

  {

  return Root;

  }

  foreach (Control Ctl in RootControls)

  {

  Control FoundCtl = FindControlRecursive(Ctl Id);

  if (FoundCtl != null)

  return FoundCtl;

  }

  return null;

  }

  調用方法:

  var hylkShowFollowers = FindControlRecursive(Master hylkShowFollowers) as Hyperlink;

  if(hylkShowFollowers != null)

  {   //加入自己的代碼}


From:http://tw.wingwit.com/Article/program/net/201311/13513.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.