【问题标题】:knockout in asp.net web from master page从母版页淘汰asp.net web
【发布时间】:2013-07-09 18:46:18
【问题描述】:

美好的一天。

我在 asp.net 网络表单母版页中使用了敲除。在母版页上,我有一个完全带有淘汰赛的高级搜索控件。通过 readio 按钮、选项卡和下拉菜单选择搜索条件后,单击搜索按钮会重定向到同样继承自同一母版页的详细信息页面。

我需要在详细信息页面的第一页中保留所选视图以及填充搜索结果。

但我作为一个婴儿在淘汰赛中无法做到这一点。

我想如果我可以删除绑定并重新应用它,它就会发生。(不知道我是否错了)。

请建议我克服这种情况。

谢谢

桑蒂

【问题讨论】:

  • 你可以在这里发布示例代码吗?

标签: asp.net web knockout.js master


【解决方案1】:

听起来您在页面之间完成了一次完整的服务器之旅。在这种情况下,您需要在重定向之前以某种方式存储搜索框的状态,然后在重定向之后加载该状态。您有几种方法可以做到这一点。

使用 Cookies

您可以将选择控件的状态序列化为 JSON 字符串并将其存储在 cookie 中。当您的搜索框加载时,使用 JavaScript 查找该 cookie,如果存在,将数据加载到您的搜索框中。

使用查询字符串

您可以将选择控件的状态序列化到查询字符串中,然后从中加载。如果在用户的浏览器上关闭了 cookie,这会更可靠一些。

使用本地存储

如果您使用现代浏览器并支持 HTML 5,则可以使用 HTML 5 本地存储来存储回发之间的搜索状态。 http://diveintohtml5.info/storage.html

序列化模型状态

查看 Knockout JS 文档的此页面,了解有关序列化对象图的更多信息。 http://knockoutjs.com/documentation/json-data.html

我希望这会有所帮助!

【讨论】:

  • 感谢您的重播。真的,我使用 JS 全局变量来维护值,问题是我无法从子页面中删除母版页中的绑定,但我可以更新它并再次应用。在那种情况下,绑定似乎两次。
  • @user2568288,您可以通过向 applyBindings 发送第二个参数来将绑定应用于特定元素:ko.applyBindings(myViewModel, document.getElementById('someElementId'))
猜你喜欢
  • 2014-10-24
  • 2015-03-01
  • 2012-11-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-23
  • 1970-01-01
  • 2019-01-09
  • 2016-11-03
相关资源
最近更新 更多