如何在ASP.NET中动态添加文本框?

如何在ASP.NET中动态添加文本框?,asp.net,asp.net-3.5,Asp.net,Asp.net 3.5,我对我的asp.net页面有以下要求: 用户可以通过单击“添加新类别”超链接在页面a上动态添加文本框 他点击A页上的提交按钮,并被重定向到B页 当他点击这个页面的链接时,他添加的文本框应该被保存 有人能帮我查一下这个密码吗 谢谢你的帮助 在按钮中单击方法写入 TextBox tb = new TextBox(); Parent.Controls.Add( tb ); 父控件是要将文本框添加到的控件,例如面板 你也可以看看 希望有帮助。动态添加用户控件很简单。但是在这种情况下,我认为您不需要这

我对我的asp.net页面有以下要求:

  • 用户可以通过单击“添加新类别”超链接在页面a上动态添加文本框

  • 他点击A页上的提交按钮,并被重定向到B页

  • 当他点击这个页面的链接时,他添加的文本框应该被保存

  • 有人能帮我查一下这个密码吗


    谢谢你的帮助

    在按钮中单击方法写入

    TextBox tb = new TextBox();
    
    Parent.Controls.Add( tb );
    
    父控件是要将文本框添加到的控件,例如面板

    你也可以看看


    希望有帮助。

    动态添加用户控件很简单。但是在这种情况下,我认为您不需要这样做,相反,您应该考虑创建一个包含文本框的中继器,当用户单击AddCategory时,向中继器数据源添加一个项目


    通过这种方式,您可以同时处理控件创建和状态持久性。

    正如其他人所说,动态添加文本框相当简单,只需创建文本框并将其添加到控件集合中需要显示的任何位置即可。然后,您需要存储该用户从该附加文本框中获取的信息。假设这是长期的,您需要将此信息存储在后端存储中。无论何时构建页面,您都需要首先阅读存储信息,以查看要创建的文本框


    我建议如下做。在Onload事件中,如果以前没有这样做,请从数据库中加载动态信息。向页面添加任何必要的控件,并将此信息存储在viewstate中。在任何后续回发中,从viewstate读取信息以添加附加控件。这将使您不必在每次回发时不断地从数据库中读取数据。

    处理动态用户控件可能是一件麻烦事

    我遵循的经验法则是,无论何时创建动态用户控件,都必须设置它的ID,以便ASP.net可以在回发时重新分配它,并且为了在回发后保留控件值,应该在Page_Init事件上重新加载用户控件


    希望这有帮助。

    动态创建文本框:

    假设你有这样的页面

    当您在文本框中输入“1”并单击“添加”按钮时,输出将类似于显示一个文本框 在下面 我是这样设计的,,

    我有一个文本框和占位符用于显示动态文本框。。 双击Add按钮…在btnadd_单击中,您必须编写以下代码

    受保护的无效btnadd_单击(对象发送者,事件参数e) {

    inti;
    对于(i=0;i”);
    }
    }
    
    调试它。。。输出是,,

    应该注意,这必须在Init事件之前或期间完成,否则ViewState将不会跟踪控件的更改。
        int i;
           for (i = 0; i < Convert.ToInt32(txtno.Text); i++)
    
        {
    
            TextBox txtbox = new TextBox();
            phtxt.Controls.Add(txtbox);
    
            phtxt.Controls.Add(new LiteralControl("<br>"));
    
        }
    
      }