即使在ASP.NET中刷新页面后,也如何保持所有文本框值和下拉列表选择的值

时间:2018-08-23 11:22:00

标签: asp.net

我的表单中有20个文本框和16个下拉列表。我的问题是,当我刷新页面时,它会清除所有字段。我有一个想法,可以保持会话状态,但是代码很长。除此以外,还有其他解决方案吗?

1 个答案:

答案 0 :(得分:0)

a)如果它是Webform应用程序,则可以考虑激活viewstate。它使输入字段的状态保持在回发之外。如果您通过按F5或来回导航来刷新页面,则会失去状态。

b)您可以将输入字段中的数据存储到服务器端会话对象中,并在页面加载时填充输入字段。如果会话对象存在,则填充字段,如果没有,则不要

c)您可以在客户端使用localStorage或sessionStorage来存储字段值。借助jQuery,从表单中获取所有输入字段并将每个输入值作为键/值对象(其中键为输入字段的ID)存储为json表示形式到localStorage或sessionStorage中非常容易。在document.ready上,您可以检查存储中是否存在此类对象,并相应地填充字段。 localStorage和sessionStorage的区别在于sessionStorage仅对实际会话有效,并且当您关闭浏览器和/或选项卡时,其内容会丢失。如果您需要长期有效的存储空间(在选项卡和会话之间均有效),则可以使用localStorage

我希望这可以帮助您找到合适的选择。