从占位符中检索label.text
本文关键字:label text 检索 占位符 | 更新日期: 2023-09-27 18:20:43
我添加了一个标签及其相应的文本,以在ASP.NET编码C#中使用占位符进行日常显示,下一个片段是显示我目前拥有的
protected void Button1_Click(object sender, EventArgs e)
{
Label label1= new Label();
label1.ID="lbdin";
label1.Text="agregado dinamicamente";
TextBox textbox1 = new TextBox();
textbox1.Text = "textbox dinamico";
Button btn = new Button();
btn.ID = "btn";
btn.Text = "boton dinamico";
btn.Click += DynamicButton;
PlaceHolder1.Controls.Add(label1);
PlaceHolder1.Controls.Add(textbox1);
PlaceHolder1.Controls.Add(btn);
}
控件通常出现在占位符中,这很好,当我尝试检索标签控件显示的文本时,我的问题就出现了,为了做到这一点,我添加了一个按钮并编码了下一个
protected void Button2_Click(object sender, EventArgs e)
{
Label Referencia_lb = PlaceHolder1.FindControl("lbdin") as Label;
//Label Referencia_lb = PlaceHolder1.FindControl("lbdin") as Label;
Referencia_lb.Text = "CAMBIANDO EL TEXTO DEL OBJETO CREADO EN TIEMPO DE EJECUCION";
}
但是当调试应用程序时,我得到了错误
WebApplication2.dll中发生类型为"System.NullReferenceException"的异常,但未在用户代码中处理
你能帮我告诉我如何从自动创建的标签中检索文本到占位符
将PlaceHolder1.FindControl("lbdin")替换为标签
var lbdin = PlaceHolder1.Children.Cast<Control>().FirstOrDefault(x => x.Id == "lbdin") as Label;
那么您需要测试null。
if(lbdin != null)
{
lbdin.Text = "Your Text";
}
else
{ Response.Write("alert('could not find label');"); }