问题描述
比如有A和B两个用户,同时登录到default.aspx页面上,在这个页面上定义了一个BOOK对象.下面是BOOK类代码:publicclassBOOK{privatestringname;privateintbookID;publicBOOK(){}publicstringNmae{get{returnname;}set{name=value;}}publicintBookID{get{returnbookID;}set{bookID=value;}}}在default.aspx页面上定义了个privatestaticBOOKbook的对象;问题是如果A对book对象进行了修改操作,同时会反应到B用户上去.如果A把book.Name="c++";B如果刷新页面得到的book.Name的值将是"c++",但是B的book.Name有可能是别的值,意思就是说A把B的BOOK.NAME改变了.如果把static关键字去掉后,每次刷新页面后将得到null值,我不想用session来存储这些值,有没有别的办法让A用户改变不了B用户的对象.
解决方案
解决方案二:
????不懂
解决方案三:
就是AB两个用户同时在IE浏览器中打开了同一个页面,在这个页面上有一个变量,比如INTID,A用户在页里中把ID的值改变了一下,B用户刷新页面后得到的将是一个改变后的值,我想让B用户得到一个原来的值(就是没有被A用户改变的值)
解决方案四:
在DEFAULT页面实例化book就行了BOOKbk=newBOOK();bk.Name="hello";bk.bookID=1;这就OK了你没实例化就是NULL了加上static那他变成了静态的不用实例话了但成为了全局的所以用户一和用户二的操作是互相影响的
解决方案五:
楼上说的很有道理