日期:2014-05-18  浏览次数:20427 次

页面提交回服务后怎么保持js类中的状态
我在页面js脚本中定义了一个类(暂称为A类),里面存放一张图片的相关信息,包括显示中心点位置,显示区域大小,等等。但是页面中另一服务器控件按钮,一按提交回服务器处理后发现A类字段状态也回到初始化的值。有没有什么办法提交页面的时候保存这个类的值状态?


再举了简单点的例子,例如一个HTML的TEXT控件,你往里填上一些字,提交回后自动清空。因为无法保存其value状态,只能使其成为服务器控件才能保存里面的记录。


------解决方案--------------------
办法1:使用ajax方法
办法2:将客户端数据一起提交到服务器端,页面显示时,再将结果赋值到相应属性,如 <input value= " <%=变量值%> " /> 等
------解决方案--------------------
客户不大好沟通,项目面临破产
============================
同情
------解决方案--------------------
还可以用下HiddenField控件
------解决方案--------------------
用Ajax方法存在的问题:我们做的这个电子地图客户要求做成用户控件形式,也就是他们要在引用这个控件的页面上写其它的服务器响应事件,所以必须考虑页面提交后的状态记录问题,ajax貌似无法解决。
——————————————————————————————————————————

开发用户控件跟使用ajax毫不冲突。
------解决方案--------------------
再举了简单点的例子,例如一个HTML的TEXT控件,你往里填上一些字,提交回后自动清空。因为无法保存其value状态,只能使其成为服务器控件才能保存里面的记录。
——————————————————————————————————————————
你们为了不使用服务器控件而不使用服务器控件,宁可相信一些议论也不为了最终功能需要而选择现成、成熟的开发工具,这肯定自己造成无尽的烦恼。
------解决方案--------------------
!!!!!
开发用户控件跟使用ajax毫不冲突。
!!!!!


用第二种方法存在的问题:这个类的状态记录字段大约有二十来个,包括显示中心点位置坐标,显示区域长,宽,地图显示筛选信息,等等。传值太多,编起程来会很麻烦。
————————————
属性多,就看如何设计,
简单点设计成数组,使用JSON方式按预定的序列化和反序列化,就可以了,这个过程都是你内部自己维护的,想怎么设计格式都可以

序列化之后用隐藏域来提交数据,加载页面的时候再反序列化回来就可以了

Hope helpful!