单击按钮时自动从占位符中删除动态控件

本文关键字:占位符 删除 动态控件 按钮 单击 | 更新日期: 2023-09-27 18:15:33

我在按钮上单击placeholder上动态添加TextBox

当所有的文本框加载时,我正在改变值,并再次按另一个按钮将值保存到SharePoint List。但是当我按下Save按钮并通过调试来检查占位符时,我发现占位符中没有任何控件。
我像这样添加控件:

TextBox[] tb = new TextBox[item_ans.Count];
Literal[] lt = new Literal[item_ans.Count];
for (int j = 0; j < item_ans.Count; j++)
{
   ans_id.Add(item_ans[j]["ID"].ToString());
   tb[j] = new TextBox();
   tb[j].ID = "tb_ans" + (j + 1).ToString();
   tb[j].Text = item_ans[j]["Title"].ToString();
   lt[j] = new Literal();
   lt[j].Text = "<br/>";
   pl_hd_ans.Controls.Add(tb[j]);
   pl_hd_ans.Controls.Add(lt[j]);
}

在保存按钮上单击我正在检索这些文本框,如下所示:

int n = Convert.ToInt32(ViewState["totalAns"].ToString());
foreach (var i in ans_id)
{
    var item_ans = list_ans.GetItemById(i);
    clientContext.Load(item_ans);
    clientContext.ExecuteQuery();
    for (int k = 0; k < n; k++)
    {
       TextBox tb = (TextBox)pl_hd_ans.FindControl("tb_ans" + (k + 1).ToString());
       item_ans["Title"] = tb.Text;
       item_ans.Update();
       clientContext.Load(item_ans);
       clientContext.ExecuteQuery();
    }                
}

但在这里,我检查占位符的控制为0。有人能帮我解决这个问题吗?

单击按钮时自动从占位符中删除动态控件

我假设它是ASP。. NET WebForms

在向网页动态添加控件时,必须在每次顺序回发时重新创建它们。这样做的原因是,动态创建的控件不存在于.aspx文件中,也不存在于视图状态中,所以asp.net不知道它必须重新创建这些控件。因此,您必须自己在初始化事件中(在页面加载之前)重新创建它们,包括添加您需要的任何事件处理程序。

你可以谷歌一下