Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用C#,如何读取动态创建的文本框的内容?_C#_Asp.net_Textbox_Dynamic Data - Fatal编程技术网

使用C#,如何读取动态创建的文本框的内容?

使用C#,如何读取动态创建的文本框的内容?,c#,asp.net,textbox,dynamic-data,C#,Asp.net,Textbox,Dynamic Data,Hy 我创建了一些带有标准内容的动态文本框 有人知道当我按下一个按钮时,我如何读取这些文本框的内容(假设用户修改了标准内容) 非常感谢 杰夫 更新 以下是我创建文本框的方式: foreach (string name in listOfNames) { TextBox tb = new TextBox(); tb.Text = name; tb.BorderStyle = BorderStyle.None; tb.BorderWidth = 0; tb.Font.N

Hy

我创建了一些带有标准内容的动态文本框

有人知道当我按下一个按钮时,我如何读取这些文本框的内容(假设用户修改了标准内容)

非常感谢

杰夫

更新

以下是我创建文本框的方式:

foreach (string name in listOfNames)
{
   TextBox tb = new TextBox();
   tb.Text = name;
   tb.BorderStyle = BorderStyle.None;
   tb.BorderWidth = 0;
   tb.Font.Name = "Arial";
   tb.Font.Size = 8;
}

您需要确保在每次回发时重新创建文本框

如果不重新创建它们,将无法访问它们的属性或事件

创建动态控件的最佳位置是页面
Init
事件处理程序

我建议你在网上好好读一读


更新(更新后的问题)

请确保为文本框设置一个
ID
(以及一个不同的ID),以便以后可以引用它们


我也看不到您将这些控件添加到页面的位置。

Request.Form是一个键值对集合,表示从ASP.NET请求返回的所有数据。如果您访问它,您可以获得任何值,无论它的控件是在ASPX代码中指定的,还是在代码隐藏文件中动态创建的


如果在页面生命周期的init部分重新创建它们,还可以自动将它们的值放回其中。如果执行此操作,则当ASP.NET重新创建页面状态并应用表单中的值时,将设置它们的值。

您应该能够像访问普通控件一样访问它们,只需获取对该控件的引用即可。 记住在每次回发时重新创建所有控件


是一篇关于asp.net中动态控件的有用文章

具体内容将根据您使用的技术而有所不同。不过,这个概念仍然非常相似,不过对于ASP.NET来说,它会更有趣一些

WinForms/WPF/Silverlight

维护动态创建的文本框列表,当按下按钮时,您可以运行文本框列表并读取
Text
属性以获取用户输入

ASP.NET-标记更新后,此部分似乎最适合您的要求


对于ASP.NET,您需要在OnInit方法的重写中创建文本框,这应该在每次回发时发生。然后在
按钮中,单击
事件,您可以从在OnInit函数中创建的文本框中读取用户输入。您需要确保在每个回发上使用相同的
ID
创建控件

WinForms、WPF、ASP.NET、Silverlight、XNA、Windows Phone 7、XBox 360、Zune等。。。????试着更具体一点,到处都有文本框和按钮。还要定义动态。这些文本框是如何创建的,最好是提供一个代码段。您使用的是什么技术?ASP.NET?赢表格?WPF/Silverlight?除了Darin的评论,他们是如何添加的?你知道这些名字吗?我正在使用ASP.NET,我已经更新了标签,sorry@Jeff,标记没问题,现在,下一部分是您必须提供的关于这些文本框是如何创建的代码片段。@Richard Friend-我从来没有这样做过,但我可能又错了。你能给我指出任何这样的文章吗?我知道在Init中创建是可行的,但是很多控件都依赖于EnsureChildControls(),inturn会查看ChildControlsCreated,然后调用CreateChildControls。请参阅@richardfriend-他还说(几乎是文章的开头),page Init事件处理程序是最好的地方。使用
CreateChildControls
用于解决特定问题,但有例外。他确实这样说,但结尾的摘要说明使用CreateChildControls。同样,这是一个似乎不清楚的领域,但ms表示这是+1的作用-表示“相同ID”…如果没有一致的ID,动态控件将呈现,但会出现各种问题(如仅在单击元素两次时触发的事件)。