当前位置:编程学习 > C#/ASP.NET >>

网页刷新后-如何保留值

.net开发环境下,分布式开发
从其它服务器向本服务器传值
记录该值
当F5刷新网页以后
想仍旧保留这个值 用于向其它服务器验证身份
前提条件是.......................................
禁用viewstatic 
禁用session 
禁用application 
禁用static 变量

没办法,这是服务器配置要求的.还有什么办法可用 --------------------编程问答-------------------- 这个不可能实现..

--------------------编程问答-------------------- 只有cookies加js了. --------------------编程问答-------------------- 用脚踢一下服务器就可以了 --------------------编程问答-------------------- 放在控件状态中,不要用viewstate  --------------------编程问答-------------------- 支持3楼的做法 --------------------编程问答-------------------- 用js好象不可以的吧... --------------------编程问答-------------------- 只能用cookie了诶。。。
F5是重新生成一次页面诶

或者使用一种比较消耗资源的做法:
在用户做任何操作或者修改的时候,都用js回发到服务器端,在服务器端保存

回4楼:貌似按F5的情况下,是不能保持控件状态的咯

up --------------------编程问答-------------------- 顺带问一句:

为什么会有这种要求?
为什么会要求当F5刷新页面的时候保持页面的状态?

up --------------------编程问答-------------------- COOKIE
地址传值 --------------------编程问答-------------------- 啥都禁用了 还是web开发么 --------------------编程问答-------------------- 关注~~! --------------------编程问答-------------------- 最后一个比较实际的方案:禁用F5

up --------------------编程问答-------------------- 不许给他吃东西,而且还不能饿着他!
怎么办?
换个思路吧! --------------------编程问答-------------------- 你可以使用控件的状态,
自己重写一个控件,继承control类
声明一个属性,把你要保存的值付给这个属性
重写以下三个方法
protected override void OnInit(EventArge e)
{
Page.RegisterRequiresControlState(this);//
base.OnInit(e);
}
potected overirde object SaveControlSate()
{
return this.属性;
}
protected override void LoadControlState(object SavedState)
{
this.属性=savedState as 属性类型
}
以上就是实现代码;属性什么的就不用我写了吧?
这个理论依据就是asp.net在你禁用veiwstate的时候都是好用的,就是采用这个原理
这个是asp.net服务器控件的实现机制

别忘了给分阿

--------------------编程问答-------------------- QUOTE:不许给他吃东西,而且还不能饿着他!
怎么办?
换个思路吧!
----------------------
打点滴啊 --------------------编程问答-------------------- mark,学习 --------------------编程问答-------------------- 这么强的服务器。。。。

如果只记录一些值,干脆用控件(隐藏的)来保存值算了,要么数据库也行。 --------------------编程问答-------------------- 楼主。。你就是个超人。。最好连cookies也别用。。。 --------------------编程问答-------------------- 去问配置服务器的人 --------------------编程问答-------------------- 放在hidden里 --------------------编程问答-------------------- 只能用cookie了 

   --------------------编程问答-------------------- 最后一个比较实际的方案:禁用F5 

up
思路强劲! --------------------编程问答-------------------- cookie,写个文件也行,另外在把变量家在url上也行 --------------------编程问答-------------------- 关注 --------------------编程问答-------------------- 页面缓存或跨网页公布Cross-Page Posting技术? --------------------编程问答-------------------- 放到数据库里不就得了,用的时候取。不用就搁数据库。 --------------------编程问答-------------------- Profile保存 .net 2.0 新特性 --------------------编程问答-------------------- 支持放在hidden控件里面! --------------------编程问答-------------------- 缓存1 --------------------编程问答-------------------- URI参数...ASP.NET 2.0就是这样解决客户端禁止Cookies问题的... --------------------编程问答-------------------- 使用controlstate
你可以自己写一个控件
然后把要保留的值 付给你这个控件的属性
类似于微软自己的控件
当你把什么都禁止了
他依然能保持状态
就是这个道理
重写以下三个方法:
protected override void OnInit(EventArgs e)
{
Page.RegisterRequiresContolState(this);
base.OnInit(e);
}
protected override object SaveControlState()
{
return "你声明的属性";
}
protected override void LoadControlState(object savedState)
{
"你声明的属性" =saveState as string("属性的类型是字符串的");
}

--------------------编程问答-------------------- 可以用隐藏控件,数据库读取了 --------------------编程问答-------------------- 放到服务器端的控件里  隐了该控件就好了 --------------------编程问答-------------------- 支持隐藏控件  --------------------编程问答-------------------- 都被上面的说完了。。。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,