【问题标题】:JQuery/ ASP.Net - How to Maintain the State of Hidden UI Elements across Postbacks?JQuery/ ASP.Net - 如何跨回发维护隐藏 UI 元素的状态?
【发布时间】:2011-06-10 14:14:59
【问题描述】:

我正在开发一个带有各种控件的网络表单。根据用户输入,我显示/隐藏(使用 JQuery 的 show()/hide() 函数)GUI 位。但是,如果表单被回发并且验证失败,我希望 GUI 保持在回发前的相同状态,而不是返回到第一次加载状态。显然 ASP.Net 控件保留状态,但我有纯客户端对象的 HTML 容器。

在尝试设计解决方案时,我发现自己正走向隐藏表单字段的模糊(且难以调试)领域 - 比 21 世纪更让人想起我在 JQuery 之前的工作:-(

谁能提出更好的方法...?

【问题讨论】:

  • 您是否考虑过在客户端也通过 ajax 处理验证和回发(即服务器端交互)?
  • 为什么不使用 AJAX 提交?
  • @ScottE @SLaks - 感谢发帖。遗留代码且受时间限制,因此恐怕不会对这种彻底的大修感到懈怠:-(

标签: asp.net jquery user-interface webforms client-side


【解决方案1】:

如果有人在读这篇文章:

我选择了一个 JQueryish 解决方案——一个 JS 函数现在运行就绪。它检查任何充当“可见性控制器”的 ASP.Net 控件的状态(它们在回发中保持自己的状态)并通过 JQuery 调用相应地设置 UI。

【讨论】:

    【解决方案2】:

    我认为诀窍是使用隐藏字段来保持客户端字段的状态。

    所以这个过程是这样的:

    用户操作 -> 更新隐藏值 -> 更新 UI

    然后当页面回发时,你重新设置 UI:

    页面加载 -> 更新 UI

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多