点击button1生成选项后,点击其中的项目1,项目2,项目3,项目4 RadioButton消失 也没有触发CheckedChanged事件,请大家帮我看看是什么原因.  protected void R_CheckedChanged(object sender, EventArgs e)
    {
     
        RadioButtonList rbl = sender as RadioButtonList;
        Label2.Text = "你选择的是" + rbl.SelectedItem.Value;    }    protected void Button1_Click(object sender, EventArgs e)
    {        
        RadioButtonList R = new RadioButtonList();
        R.AutoPostBack = true;
        R.Items.Add(new ListItem("选项1", "1"));
        R.Items.Add(new ListItem("选项2", "2"));
        R.Items.Add(new ListItem("选项3", "3"));
        R.Items.Add(new ListItem("选项4", "4"));
        R.ID = "rStockCode";
        R.RepeatDirection = RepeatDirection.Horizontal;
        R.RepeatLayout = RepeatLayout.Flow;        R.SelectedIndexChanged+=new EventHandler(R_CheckedChanged);
        this.Label1.Controls.Add(R);        //lStockCode.Visible = true;
        Button1.Visible = true;
         
    }
}

解决方案 »

  1.   

    出现这样的问题,是在于你的控件动态加载,点了radiobutton,有页面回传事件,页面重新刷新了,而动态添加的控件又没有回写,因此radiobutton肯定是不见了(页面重新初始化了)你要实现你的效果,那么在page_load事件中,要将动态添加的控件做缓存处理,并且记录选择的值
      

  2.   

    你要实现你的效果,那么在page_load事件中,要将动态添加的控件做缓存处理,并且记录选择的值------------------------------------------------------------------------------------------------------
    能否以代码示例,谢谢
      

  3.   

    在vs2005中您可以用一下div
    在页面中:
      <div id="infodiv" runat="server"  style="display:none">
    <asp:radiobuttonlist ID="R" runat="server" OnSelectedIndexChanged="R_SelectedIndexChanged"></asp:radiobuttonlist></div>
    在后台代码:
     protected void Button1_Click(object sender, EventArgs e) 
        { 
            R.AutoPostBack = true; 
            R.Items.Add(new ListItem("选项1", "1")); 
            R.Items.Add(new ListItem("选项2", "2")); 
            R.Items.Add(new ListItem("选项3", "3")); 
            R.Items.Add(new ListItem("选项4", "4")); 
            R.RepeatDirection = RepeatDirection.Horizontal; 
            R.RepeatLayout = RepeatLayout.Flow;        this.infodiv.Style.Add(HtmlTextWriterStyle.Display, "block");// 使用时让层显示
            R.Items[0].Selected = true;//指定默认选项
            //lStockCode.Visible = true; 
            Button1.Visible = true;
         
    }
        protected void R_SelectedIndexChanged(object sender, EventArgs e)
        {
            Label2.Text = "你选择的是" + R.SelectedItem.Value;     }
      

  4.   

    楼上的兄弟 RadioButtonList 是动态生成的
      

  5.   

    写在pageload中 可以实现
    如果你是要通过 点击按钮的形式添加 哪实现不了 原因jackyoung02 已经说了如果非要实现这样的效果 哪就用 ajax实现吧
    ajax 挺容易实现的
      

  6.   

    我用的就是ajax 效果是一样的