题目是这样的,一个“添加控件”按钮,点击后,在下面生成一个文本框和一个“乘2”的按钮,然后点击“乘2”按钮,文本框数字就乘2//添加控件按钮
TextBox t1=new TextBox();
protected void button1_click(object sender, EventArgs e)
{
     
     panel1.Controls.add(t1);     Button b2=new Button();
     b2.text="乘2";
     panel1.Controls.add(b2);
     b2.Click+=new EventHandler(But_Click);}protected void But_Click(object sender, EventArgs e)
    {
        t1.text=Convert.toInt32(t1.text)*2+"";
    }但是点了按钮之后,页面被提交了,用代码生成的文本框和乘2的按钮消失了,这怎么搞

解决方案 »

  1.   

    asp.net和winfrom的机制还是有区别的,虽然微软把asp.net做的和开发winfrom差不多了,但动态生成的控件确实没办法给你保存,你要自己想办法
      

  2.   

    是练习服务器控件的用法?一般练习用法不用涉及这么复杂的方式吧?如果只是单纯的动态控件的状态保存,那还好实现一点,就是把状态放到ViewState视图状态里就行了,但是你这个例子还涉及到动态事件的概念,要大改了
      

  3.   

    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;public partial class Default3 : System.Web.UI.Page
    {
        static double x;
        TextBox t1 = new TextBox();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack)
            {
                add_Controls();
            }
        }    protected void Button1_Click(object sender, EventArgs e)
        {
            //add_Controls();
            
        }    public void add_Controls()
        {
            t1.Text = x.ToString();
            Panel1.Controls.Add(t1);
            Button btn = new Button();
            btn.Text = "乘2";
            Panel1.Controls.Add(btn);
            btn.Click += new EventHandler(cal);
            
        }
        
        protected void cal(object sender, EventArgs e)
        {
            x = Convert.ToDouble(t1.Text) * 2;
        }
    }
    这样,控件就不会消失了,但是按了乘2按钮,文本框数字不变,不会乘2
      

  4.   

    页面从新刷新了,一个从新建立的页面其中按钮当然会消失了,你直接套用下AJAX让他局部刷新就好了
      

  5.   

    我写过一个demo,你可以研究一下背后的原理:http://s.yanghao.org/program/viewdetail.php?i=170547