C# 从动态添加的文本框访问文本
我有一个.aspx页面,我想点击一个按钮,动态地向页面添加文本框。为此,我在页面上添加了一个占位符,并在单击按钮时将控件添加到服务器端C# 从动态添加的文本框访问文本,c#,asp.net,dynamic,textbox,session-variables,C#,Asp.net,Dynamic,Textbox,Session Variables,我有一个.aspx页面,我想点击一个按钮,动态地向页面添加文本框。为此,我在页面上添加了一个占位符,并在单击按钮时将控件添加到服务器端 <asp:PlaceHolder runat="server" ID="NotificationArea"></asp:PlaceHolder> <asp:Button ID="AddNotification" runat="server" Text="Add" OnClick="AddNotification_Click" /&g
<asp:PlaceHolder runat="server" ID="NotificationArea"></asp:PlaceHolder>
<asp:Button ID="AddNotification" runat="server" Text="Add" OnClick="AddNotification_Click" />
<asp:Button ID="RemoveNotification" runat="server" Text="Remove" OnClick="RemoveNotification_Click" />
调试结果显示NotificationArea中的控件计数为0。如何访问这些动态添加的textbox控件的文本?我是否会向文本框添加一个ontext_change事件,将特定文本框的文本保存到会话变量中的等效文本中?我该怎么做呢?找到了解决方案。事实证明,您需要重新创建在每个帖子背面动态添加的所有控件
public void Page_Init(object sender, EventArgs e)
{
CreateDynamicControls();
}
private void CreateDynamicControls()
{
notifications = (List<TextBox>)(Session["Notifications"]);
if (notifications != null)
{
foreach (TextBox textBox in notifications)
{
NotificationArea.Controls.Add(textBox);
}
}
}
这样做可以让我随时访问这些控件的内容
int count = NotificationArea.Controls.Count;
public void Page_Init(object sender, EventArgs e)
{
CreateDynamicControls();
}
private void CreateDynamicControls()
{
notifications = (List<TextBox>)(Session["Notifications"]);
if (notifications != null)
{
foreach (TextBox textBox in notifications)
{
NotificationArea.Controls.Add(textBox);
}
}
}