最近在学习.net,看到一个例子。
代码如下(cs的代码):
protected void Page_Load(object sender, EventArgs e)
{
PHID.Controls.Add(new LiteralControl("<br>"));
if (CheckBox1.Checked)
{
PHID.Visible = true;
CheckBox1.Text = "隐藏PlaceHolder";
}
else
{
PHID.Visible = false;
CheckBox1.Text = "显示PlaceHolder";
}
}
protected void AddButton_Click(object sender, EventArgs e)
{
Button button = new Button();
button.Text = "标准按钮";
button.ID = "btId";
PHID.Controls.Add(button);
CheckBox cb = new CheckBox();
cb.Text = "复选按钮";
cb.ID = "cbId";
PHID.Controls.Add(cb);
}
这个点击按钮运行AddButton_Click方法后会生成一个button和checkbox。当我点击生成的“标准按钮"button后为这两个button和checkbox就会消失。明明没有使用方法啊?????
Button button = new Button();
生成的应该是服务器控件,也就是说,自带刷新功能。
你点击之后,会自动提交当前页面,触发page_load()事件,你可以加个断点看看。
你可以在page_load()中添加
if(!isPostBack)
{
//。。。你的代码
}
你说的我好像理解了,可是我按你说的加上if(!isPostBack)后,点击生成的“标准按钮"button后生成的还是会消失。。。。。。
我试过将生成方法 AddButton_Click里的代码放到page_load()中,结果还是同样的结果。。。。。这是怎么回事。。??
是我的错误吗?