日期:2014-05-17  浏览次数:20421 次

急急,asp.net GridView 绑定相关问题,谢谢大家先
页面描述如下:页面实现的是在线批量计算数据: 在一个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; }  

  }

------解决方案--------------------
你猜的没错,就是全局静态变量惹的货
------解决方案--------------------
全局静态变量,在过程被执行或者调用时被赋值,后面接着被调用时不会在赋初值。
------解决方案--------------------
不同用户的数据不同,必须改用非静态变量,每次都要进行赋值
------解决方案--------------------
每个用户添加删除数据的时候直接在数据库操作,操作完了重新绑一下。
实在不行就用session存储
------解决方案--------------------
"最近添加的一组信息"是什么意思?是一天内,还是什么啊?

比方说一天内(当然楼主自己定义这段时间),你可以在插入数据的时候先查询数据库中今天有没有插入信

息,如果没有就插入,如果有提示插入失败!
------解决方案--------------------
是不是数据库设计问题?
一对多的关系要再建一个表。
------解决方案--------------------

静态方法就这样,你可以不用静态的

C# code

public List<point> PointList1 = new List<point>();
//吧List存入Session
Session["list"] = PointList;
//用的时候取出Session中的List
List<point> PointList2 = (List)Session["list"];

gridview1.DataSource = PointList1;
//你的计算代码
//计算完毕后吧新Llist的数据加入Session中List就可以了!