动态文本框如何在我的代码回发中显示请帮助 [英] how the dynamic textboxes appear on postback in my code please help

查看:53
本文介绍了动态文本框如何在我的代码回发中显示请帮助的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

protected void Button1_Click(object sender, EventArgs e)
    {
      if (txtQuantity.Text != "")
        {
            if (Page.IsPostBack)
            {
                for (int i = 0; i <= Convert.ToInt16(txtQuantity.Text) / 3; i++)
                {


                    Label la = new Label();
                    la.Text = ddlProductName.SelectedItem.Value + (i + 1).ToString();
                    la.ID = "abc1" + i;

                    PlaceHolder1.Controls.Add(la);

                    //la = FindControl(String.Format(i)) as Label;




                    TextBox txtbox = new TextBox();
                    // txtbox.Text = "Textbox - " + i.ToString();


                    PlaceHolder1.Controls.Add(new LiteralControl("<input id='txt' name='Textbox" + i + "'type='text'  />"));

                    PlaceHolder1.Controls.Add(new LiteralControl("<br />"));
                }
                for (int j = (Convert.ToInt16(txtQuantity.Text) / 3) + 1; j <= Convert.ToInt16(txtQuantity.Text) * 2 / 3; j++)
                {


                    Label la1 = new Label();
                    la1.Text = ddlProductName.SelectedItem.Value + (j + 1).ToString();
                    la1.ID = "abc2" + j;

                    PlaceHolder2.Controls.Add(la1);

                    //la = FindControl(String.Format(i)) as Label;




                    TextBox txtbox1 = new TextBox();
                    // txtbox.Text = "Textbox - " + i.ToString();
                    PlaceHolder2.Controls.Add(new LiteralControl("<input id='txt' name='Textbox" + j + "'type='text'  />"));
                    PlaceHolder2.Controls.Add(new LiteralControl("<br />"));
                }
                for (int k = (Convert.ToInt16(txtQuantity.Text) * 2 / 3) + 1; k < Convert.ToInt16(txtQuantity.Text); k++)
                {


                    Label la2 = new Label();
                    la2.Text = ddlProductName.SelectedItem.Value + (k + 1).ToString();
                    la2.ID = "abc3" + k;

                    PlaceHolder3.Controls.Add(la2);

                    //la = FindControl(String.Format(i)) as Label;




                    TextBox txtbox1 = new TextBox();
                    // txtbox.Text = "Textbox - " + i.ToString();


                    PlaceHolder3.Controls.Add(new LiteralControl("<input id='txt' name='Textbox" + k + "'type='text'  />"));

                    PlaceHolder3.Controls.Add(new LiteralControl("<br />"));
                }
            }

        }
    }

推荐答案

在页面加载方法做动态控件加载,不要在按钮点击事件中做,也不要你是IsPostBack条件。在PostBack和初始页面加载中,您可以检查文本框中给出的计数并加载控件。
In Page Load method do the dynamic control loading, don't do it in the button click event and also don't you IsPostBack condition. in both PostBack and initial page load you can check the count given in textbox and load the controls.


这篇关于动态文本框如何在我的代码回发中显示请帮助的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆