保持标签的滚动条位置

时间:2012-03-07 20:28:31

标签: c# asp.net timer scrollbar postback

我的动态创建控件有点问题。我有一个使用c#代码的asp.net页面。我为表生成了行(在更新面板中)。在其中一行中,我有一个用内容和垂直滚动条创建的标签。我也有一个计时器每5秒钟调用一次回发。

Label diff = new Label();
diff.Style.Add("height", height + "px");
diff.Style.Add("width", "100%");
diff.BorderWidth = 2;
diff.Style.Add("overflow-y", "scroll");
diff.Text = text;
cell.Controls.Add(diff);

问题是,当发生回发时,该行将被删除并再次创建,因此滚动位置将丢失。

我想将滚动位置保留在变量中,以便能够在回发后将其设置为相同的位置。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:3)

您可以使用jQuery插件ScrollSaver

<script type="text/javascript" src="scrollsaver.min.js"></script>

您所要做的就是在页面上包含脚本,在发生回发之前,它会将每个元素的位置保存在cookie中,然后在页面重新呈现时将其恢复。