我做的动态控件每次点击按钮,就在原有的动态控件上又重复添加一边,我想让他在用户访问时只添加一次,点按钮后就消失。
放在if(!IsPostBack)里就出错 ,源码如下:
private void Page_Load(object sender, System.EventArgs e)
{
RadioButtonList tx=new RadioButtonList ();
PlaceHolder1.Controls .Add (tx);// 在此处放置用户代码以初始化页面
tx.ID ="tt";
for(int j=1;j<=4;j++)
{
ListItem choice=new ListItem (j.ToString ());
tx.Items .Add (choice);
choice.Value =j.ToString ();
}
}
///下面是 一个btn事件,为了显示客户端的选择情况
private void Button1_Click(object sender, System.EventArgs e)
{
RadioButtonList tr=new RadioButtonList ();
tr=(RadioButtonList)PlaceHolder1.FindControl ("tt");
Response.Write (tr.SelectedItem);
}
放在if(!IsPostBack)里就出错 ,源码如下:
private void Page_Load(object sender, System.EventArgs e)
{
RadioButtonList tx=new RadioButtonList ();
PlaceHolder1.Controls .Add (tx);// 在此处放置用户代码以初始化页面
tx.ID ="tt";
for(int j=1;j<=4;j++)
{
ListItem choice=new ListItem (j.ToString ());
tx.Items .Add (choice);
choice.Value =j.ToString ();
}
}
///下面是 一个btn事件,为了显示客户端的选择情况
private void Button1_Click(object sender, System.EventArgs e)
{
RadioButtonList tr=new RadioButtonList ();
tr=(RadioButtonList)PlaceHolder1.FindControl ("tt");
Response.Write (tr.SelectedItem);
}
我没放在if(!IsPostBack),可是每次点击按钮后页面就又出现一次动态控件,和前一次生成的动态控件一起显示在页面上,我想在点击按钮后动态控件消失,然后显示动态按钮的值,怎么做,请指教,请在原码的基础上给出具体的代码。
protected void Page_Load (object sender, EventArgs e)
{
if (!IsComplete)
{
btn = new Button ();
btn.ID = "btnTest";
btn.Click += new EventHandler (btn_Click);
// 将 btn 添加到指定的控件,这里假定是个Panel
panel.Controls.Add (btn);
} } private bool IsComplete
{
get
{
object tmp = ViewState["IsComplete"];
return (tmp == null) ? false : (bool)tmp;
}
set
{
if (!object.Equals(ViewState["IsComplete"], value))
{
ViewState["IsComplete"] = value;
}
}
}
protected void btn_Click (object sender, EventArgs e)
{
// Add your code
Response.Write ("button click");
IsComplete = true;
// 从指定控件(这里假定是个Panel)中删除 btn
panel.Controls.Remove (btn);
}