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要尽量小、仅保存关键索引。