如何在Postback上维护UI元素状态?(ASP.NET MVC)

ena*_*rik 5 javascript jquery jquery-ui asp.net-mvc-3

所以我计划创建一个包含许多可动画UI元素的复杂页面.我想想出一个干净的方法来维护这些可动画的UI元素的状态(展开/折叠,突出显示等).我有一些想法,但我只是想知道是否有人知道这样做的js框架,所以我不重新发明轮子.

编辑

到目前为止我的想法是:

1)在表单帖子上,获取每个UI元素的状态并将其添加到POST数据.我正在考虑使用一个特殊的CSS类(一种用于跟踪的注册)来标记我想跟踪状态的所有UI元素,并且每个都支持一些回调,这将允许我以多态方式获取它们的状态(每个UI元素)有它自己对状态的理解,例如扩展,选定的索引,突出显示等)

2)为我的UI元素创建HtmlHelpers,它可以识别从客户端发送的状态信息,并以正确的状态输出UI元素的html(我更喜欢在服务器端设置状态而不是让js在整个地方弹出东西在客户端恢复状态......对吗?)

3)不像WebControls或ViewState那样复杂或臃肿

是否有一个框架可以做到这样的事情并且做得更好,如果没有,我提出的框架听起来是个好主意吗?

Raf*_*res 2

我想KnockoutJS可能会对您有所帮助,因为您可以在其上整合所有数据/状态管理逻辑,然后以您喜欢的方式持久化它,即使用该.toJSON()函数并将其发送到服务器。

也许您可以将它与 @Schwarty 的 localStorage 解决方案集成?