我的表单中有20个文本框和16个下拉列表。我的问题是,当我刷新页面时,它会清除所有字段。我有一个想法,可以保持会话状态,但是代码很长。除此以外,还有其他解决方案吗?
答案 0 :(得分:0)
a)如果它是Webform应用程序,则可以考虑激活viewstate。它使输入字段的状态保持在回发之外。如果您通过按F5或来回导航来刷新页面,则会失去状态。
b)您可以将输入字段中的数据存储到服务器端会话对象中,并在页面加载时填充输入字段。如果会话对象存在,则填充字段,如果没有,则不要
c)您可以在客户端使用localStorage或sessionStorage来存储字段值。借助jQuery,从表单中获取所有输入字段并将每个输入值作为键/值对象(其中键为输入字段的ID)存储为json表示形式到localStorage或sessionStorage中非常容易。在document.ready
上,您可以检查存储中是否存在此类对象,并相应地填充字段。 localStorage和sessionStorage的区别在于sessionStorage仅对实际会话有效,并且当您关闭浏览器和/或选项卡时,其内容会丢失。如果您需要长期有效的存储空间(在选项卡和会话之间均有效),则可以使用localStorage
我希望这可以帮助您找到合适的选择。