使用FindControl("id")尋找控制項 傳回值都是Null的問題

來源:互聯網
上載者:User

標籤:style   blog   color   使用   ar   for   div   問題   log   

 做了一個通過字串ID尋找頁面控制項並且給頁面控制項賦值的功能,過程中遇到了this.FindControl("id")傳回值都是Null的問題,記錄一下解決辦法。

 問題的原因是我所要尋找的ID控制項的父控制項不是this所造成的。

所以我寫了一個遞迴方法擷取控制項:

 1 /// <summary> 2 /// 擷取頁面中某個控制項 3 /// </summary> 4 /// <param name="control">父控制項容器</param> 5 /// <param name="id">控制項ID</param> 6 /// <returns></returns> 7 public Control GetControl(Control control, string id) 8         { 9             Control con = control.FindControl(id);10             if (con == null)11             {12                 if (control.HasControls())13                 {14                     foreach (Control c in control.Controls)15                     {16                         con = GetControl(c, id);17                         if (con == null)18                             continue;19                         else20                             break;21                     }22                 }23                 else24                 {25                     return null;26                 }27             }28             return con;29         }

 

使用方法 :TextBox txt = GetControl(this, “textBox1”) as TextBox; //在當前頁面中尋找ID為“textBox1” 的TextBox控制項。

 

使用FindControl("id")尋找控制項 傳回值都是Null的問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.