急急,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存储
[解决办法]
"最近添加的一组信息"是什么意思?是一天内,还是什么啊?
比方说一天内(当然楼主自己定义这段时间),你可以在插入数据的时候先查询数据库中今天有没有插入信
息,如果没有就插入,如果有提示插入失败!
[解决办法]
是不是数据库设计问题?
一对多的关系要再建一个表。
[解决办法]
静态方法就这样,你可以不用静态的
public List<point> PointList1 = new List<point>();//吧List存入SessionSession["list"] = PointList;//用的时候取出Session中的ListList<point> PointList2 = (List)Session["list"];gridview1.DataSource = PointList1;//你的计算代码//计算完毕后吧新Llist的数据加入Session中List就可以了!