3

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

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

  2. 他单击页面 A 上的提交按钮并被重定向到页面 B。

  3. 当他单击此页面中的页面 A 链接时,应保留他添加的文本框。

有人可以帮我写代码吗?

感谢你的帮助!

4

5 回答 5

3

在 ButtonClick 方法中编写。

TextBox tb = new TextBox();

Parent.Controls.Add( tb );

Parent 是您要将文本框添加到的控件,例如面板。

你也可以看看这个资源

希望能帮助到你。

于 2009-04-10T15:32:11.013 回答
3

动态添加用户控件很简单。但在这种情况下,我认为您不需要这样做,而是应该考虑创建一个带有文本框的转发器,当用户单击“添加类别”时,将一项添加到转发器数据源。

这样,您可以同时处理控件创建和状态持久性。

于 2009-04-10T15:32:45.273 回答
1

处理动态用户控件可能会让人头疼。

根据我的经验,每当您创建动态用户控件时,您必须设置它的 ID,以便 ASP.net 可以在回发时重新分配它,并在回发后保留控件值,您应该在 Page_Init 上重新加载用户控件事件。

希望这可以帮助。

于 2009-04-12T13:42:16.707 回答
1

动态创建文本框:

假设你有这样的页面在此处输入图像描述

当您在文本框中输入“1”并单击添加按钮时,输出将就像在下面显示一个文本框..我这样设计, 在此处输入图像描述

我有一个用于显示动态文本框的文本框和占位符。双击添加按钮...在 btnadd_click 中,您必须编写以下代码

受保护的无效btnadd_Click(对象发送者,EventArgs e){

    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>"));

    }

  }

调试它......输出是, 在此处输入图像描述

于 2013-02-25T12:52:21.290 回答
0

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

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

于 2009-04-10T15:39:18.843 回答