1

下面编写的代码显示特定条件的文本框。但是当我单击另一个不相关的按钮或链接时,它会消失。当我在网页上执行其他活动时,我需要它保持可见

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    TextBox new_textbox = new TextBox();

    if (DropDownList1.Text.Equals("OFF"))
    {
        new_textbox.ID = "txt" + 1;

        PlaceHolder1.Controls.Add(new_textbox);
        Label5.Visible = true;
        new_textbox.Visible = true;
    }
    else
    {   
        Label5.Visible = false;
    }        
}
4

1 回答 1

1

这个问题之前在 SO 上被问过: Dynamicly added controls in Asp.Net

您只是在特定情况下添加此控件,特别是在DropDownList1.Text.Equals("OFF"). 在这种情况下,您是否可以使用刚刚设置为可见的静态控件?

根据 msdn 的Add Controls to an ASP.NET Web Page Programmatically

控件通常在页面的初始化阶段添加到页面。有关页面阶段的详细信息,请参阅 ASP.NET 页面生命周期概述。

引用链接到ASP.NET 页面生命周期概述

您必须小心动态添加控件,请参阅有关Dynamic Web Server Controls and View State的这个 msdn 页面。

于 2012-06-01T18:46:09.257 回答