我动态创建文本框,但无法从创建的文本框中检索值 . 任何人都可以向我解释我做错了什么?
HtmlGenericControl testes = new HtmlGenericControl("DIV");
testes.ID = "Div_Cabos_Rede";
testes.Attributes.Add("class", "col-md-12 letra");
testes.InnerHtml = "Cabos de rede";
TextBox Cabos_de_rede = new TextBox();
Cabos_de_rede.ID = "Txt_Cabos_Rede";
Cabos_de_rede.Attributes.Add("class", "col-md-12 form-control");
testes.InnerHtml = "Cabos de rede";
Body.Controls.Add(testes);
Body.Controls.Add(Cabos_de_rede);
这工作得很好(很小的不相关的CSS问题),但后来我尝试从动态创建的文本框中检索数据我得到NULL值 .
这是我的代码来检索值:
TextBox testar = (TextBox)Body.FindControl("Txt_Cabos_Rede");
ScriptManager.RegisterStartupScript(this, GetType(), "alert", "alert('" + testar + "');", true);
1 回答
处理 dynamically created control 的主要问题是你需要在 Page Init 或 Page Load 事件中重新加载它们 .
FYI: 我们通常使用Panel或PlaceHolder加载控件而不是Body标签,这样我们就可以轻松设置它们的样式 .
ASPX
代码背后
我知道你有很多问题 . 在评论这个问题之前,请创建一个新项目,并使这个非常简单的代码工作 .