首页 新闻 会员 周边 捐助

asp.net gridview 绑定问题 急切需要大家的帮助

0
悬赏园豆:30 [已关闭问题] 解决于 2012-07-25 11:40

页面描述如下:页面实现的是在线批量计算数据: 在一个asp.net页中 有一个gridview(绑定用户添加是计算前的批量数据) 一个table(table 中放了很多的textbox,供用户添加计算前的初始数据) 两个button(一个添加按钮 一个计算按钮)。 gridview的绑定我是用list进行绑定的,我申请了一个静态全局list变量 public static List<point> PointList = new List<point>();....gridview1.DataSource = PointList;

目前遇到的问题是 网站发布后,不同的用户在这个页面操作彼此会有影响,比如说a用户添加了一组计算数据,当B用户访问这个页面时,gridview1已经有a添加的这组数据了,这个显然是不可以的,我初步判断是由于我定义的是全局静态变量的原因(不知道是否正确,请大家指正),但是我不用静态的 那么gridview只能绑定最近添加的一组信息,因为每次点击添加按钮时 都会重新new一个PointList 这样之前添加的数据都没有了,我对这个问题很棘手,急切需要大家的帮助,谢谢 补:

 public class point  

  {        

       public double dSE { get; set; }  

       public double dSN { get; set; }  

       public double dEE { get; set; }  

       public double dEN { get; set; }      

    }

问题补充:

可能我的叙述有问题,我点击添加按钮 添加一组数据的代码是:

point newpoint = new point();                
newpoint.dSN = double.Parse(this.tbSN.Text.Trim());
newpoint.dSE = double.Parse(this.tbSE.Text.Trim());             
newpoint.dEE = double.Parse(this.tbEE.Text.Trim());
newpoint.dEN = double.Parse(this.tbEN.Text.Trim());
PointList.Add(newpoint);

我定义的 public static List<point> PointList = new List<point>(); 是在load之前定义的全局变量,

public static  List<point> PointList = new List<point>();        
        protected void Page_Load(object sender, EventArgs e)
        {            
        }

每次点击添加按钮时候 程序都会把全局变量的定义 执行一遍 所以我说每次添加一组新数据的时候 都会NEW一下PointList

study_hard_01的主页 study_hard_01 | 初学一级 | 园豆:126
提问于:2012-07-18 17:13
< >
分享
其他回答(1)
0

肯定不能用静态的,你在添加的时候不要new PointList不就可以了

收获园豆:5
artwl | 园豆:16736 (专家六级) | 2012-07-18 17:16

您好,感谢您的回复,可能我的问题描述的不太清楚 ,我又补充了一下问题,麻烦您在帮我看一下, 我想问一下,您说的添加的时候不要new PointList  是怎么做到的啊,谢谢

支持(0) 反对(0) study_hard_01 | 园豆:126 (初学一级) | 2012-07-19 08:48
0

貌似要先确定一下你的目的啊。比如,多用户操作的都是同一个空间内的数据吗?数据本身有木有与用户相关的标识以区分数据的归属。如果用户操作的数据是完全隔离的,那么没必要用静态PointList啊。点击添加按钮为什么会new一个PointList?难道不是添加一个Point到List?

收获园豆:10
飞扬的尘埃 | 园豆:1318 (小虾三级) | 2012-07-18 17:37

您好,我页面实现的目的是 每个用户进入这个页面 都可以进行数据的批量计算的,每个用户添加的数据互相没有关系,也就是您说的用户操作数据是完全隔离的,我之前也考虑到不用静态的PointList,但是如果不用静态的 每次点击添加按钮时 PointList只能保存添加的最新的一组数据,因为每次点击添加按钮 程序都会把load之前定义的变量走一遍 这样PointList之前保存的数据也就没有了,现在我该如何去做 才能实现数据的批量添加呢 而且不同的用户添加数据之前没有影响,在线等您的帮助

支持(0) 反对(0) study_hard_01 | 园豆:126 (初学一级) | 2012-07-19 08:58

@study_hard_01: 那么现在的问题可能归结为,你的数据没有与用户相关的标识。由于是web程序,页面一旦刷新,页面类相关的属性或成员变量都会初始化。这时只能通过数据的用户相关标识,从数据库或者其他存储介质读取当前登录用户的相关数据了。

另外,这涉及到用户操作的数据是否需要永久保存的问题,你再考虑下?

支持(0) 反对(0) 飞扬的尘埃 | 园豆:1318 (小虾三级) | 2012-07-19 09:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册