日期:2014-05-18  浏览次数:20759 次

ASP。net 公共变量问题
我定义了一个 公共datatable,在不同的按钮事件中调用,怎么就不行?超级简单的问题啊啊啊啊?
C# code

public DataTable DDT=new DataTable (); //g公共变量
    protected void Page_Load(object sender, EventArgs e)
    {
               
        dt.Columns.Add(new DataColumn("a", typeof(string)));
        dt.Columns.Add(new DataColumn("b", typeof(string)));
        dt.Columns.Add(new DataColumn("c", typeof(string)));

    }
 
    protected void Button2_Click(object sender, EventArgs e)
    {
        //this.grid.DataSource = null;
        //this.grid.DataBind();
        DataRow MMW = DDT.NewRow();
        MMW["a"] = "aa";
          MMW["b"] = "bb";
          MMW["c"] = "cc";
          DDT.Rows.Add(MMW);
          this.grid.DataSource = DDT;
          this.grid.DataBind();


    }



提示a 不在表中,靠 怎么回事啊啊啊啊 啊?菜鸟送分求解

------解决方案--------------------
要想保持状态,应该学会使用ViewState。但是它保存数据集和需要大量地序列化、反序列化,并且是在服务器与千里之外的客户端来回复制数据,因此往往不如把数据老老实实地留在在数据库里,而在ViewState中只要保存最必要的一两个信息关键字就行了。

当你把基于数据库的程序编写、完全测试通过,你还可以通过简单地加上数据缓存技术来提高数据库程序的性能。

而使用ViewState要尽量小、仅保存关键索引。