我在MVC应用程序中使用jquery微调器。我在cshtml文件中实现了它的HTML和JS。
<p>
<label for="spinner">Select a value:</label>
<input id="spinner" name="value">
</p>
<script>
var spinner = $("#spinner").spinner();
spinner.spinner("value", 10);
</script>
当微调器加载并首次启动时,我希望它取值10,但是当用户与它进行交互并在后续刷新页面时更改了值时,我希望维护用户选择的数字,不是它又回到了10。
因为我是JS的新手,所以我能想到实现这一目标的唯一方法是读取/写入数据库,该数据库保存数字,默认为10,直到它被覆盖?
我想如果有一个更光滑的解决方案我会问?
答案 0 :(得分:0)
是的,如果您希望在完整页面刷新期间保持用户设置值的持久性,则您需要将其存储在某个位置,例如localStorage。
答案 1 :(得分:0)
有一些方法可以做到这一点。
情境:用户与微调器交互并刷新页面(这只发生在用户PC中,没有按下提交按钮)。
解决方案:对于这种情况,您可以将微调器值存储在 Cookie中。(Cookie会在客户端保留数据并使其可用 在服务器端)
或者您可以对服务器进行异步调用,以更新会话中的值(会话保留服务器端的数据,并且每个用户都是唯一的),或者如您所说,在数据库中(数据库保留服务器端的数据,您必须确保为正确的用户检索值)。
注意:我没有为此编写代码,因为我希望您对此进行研究(我知道您可以这样做)。
了解Cookie,会话和数据库之间的区别,选择最适合您的方式。