单击按钮时自动从占位符中删除动态控件
本文关键字:占位符 删除 动态控件 按钮 单击 | 更新日期: 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不知道它必须重新创建这些控件。因此,您必须自己在初始化事件中(在页面加载之前)重新创建它们,包括添加您需要的任何事件处理程序。
你可以谷歌一下