Asp.net 尋找不到動態建立的控制項之解決辦法【整理】

來源:互聯網
上載者:User

方法一:

要想動態添加的控制項能"保持",簡單的做法就是在page_init裡載入,而不是page_load

C# code

protected override void OnInit(EventArgs e)    {        try         {            //在這裡載入控制項            base.OnInit(e);        }        catch (Exception MyEx)        {                MyHelper.ShowExceptionMeessage(MyEx);        }        finally        {        }    }

方法二:

protected void Page_Load(object sender, EventArgs e){    if (!IsPostBack)    {        LoadTextBox();    }}protected override void LoadViewState(object savedState){    base.LoadViewState(savedState);    if (IsDynamicLoadControl)    {        LoadTextBox();    }}private void LoadTextBox()             {                 for (int i = 0; i < 10; i++)    {         TextBox input = new TextBox();         input.ID = "input" + i.ToString();         this.form1.Controls.Add(input);    }    IsDynamicLoadControl = true;}public bool IsDynamicLoadControl{    get    {        object dynamic = ViewState["IsDynamicLoadControl"];        return dynamic == null ? false : true;    }    set    {        ViewState["IsDynamicLoadControl"] = value;    }}

 

TextBox tb = this.FindControl("input0") as TextBox;ClientScript.RegisterStartupScript( this.GetType(), "", string.Format("<script>alert('{0}')</script>",tb.Text));

 

最後可以進行測試一下:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.