在ASP.Net回发之间保持客户端类更改?

Bri*_*ott 3 asp.net jquery postback class

我使用嵌套的listviews动态绑定表和子表.在客户端,我有一个jQuery,它在表中切换TR的可见性,以便提供组扩展/合同视图选项.

在回发中我显然失去了我通过jQuery应用的类更改.我想知道维护这些客户端类更改的最佳方法是什么?我考虑过为每个表创建一个隐藏的输入控件,以便在扩展它们时存储可见TR的索引.目的是在回发/重新绑定期间查找索引并将可见类添加到每个对应的元素.

在回发期间是否有更好的方法或一些本机方法将客户端样式/类更改传递回服务器?

Hog*_*gan 5

有很多方法可以做到这一点:

  • 正如您所建议的,隐藏控件包含有关视图状态更改的信息,然后服务器端使用此信息在下次正确呈现,或者javascript在页面加载时查看此信息并调整页面.如果您希望数据在会话中保持不变(登录),那么您需要让服务器端将信息存储在数据库中,并在每次访问页面时呈现它.
  • 如果您希望数据保持不变,那么有时最好进行ajax调用以在进行更改时将信息存储在服务器上.这样做的好处是不会强制用户提交表单以便保持更改.如果您正在处理的页面经常被提交(或者甚至可能没有其他表单元素),这可能是更好的选择.
  • 守旧派:将信息存储在cookie中.Blah,没有人这样做了.