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

时间:2010-02-09 12:28:32

标签: asp.net jquery class postback

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

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

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

1 个答案:

答案 0 :(得分:5)

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

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