修改回发URL以获取页面锚点

时间:2009-06-02 12:56:24

标签: asp.net postback

我有一个包含多个网格视图的页面。为了实用性,我将这些gridview放入一系列jquery选项卡中。选项卡的工作原理是创建到具有特定ID的容器的锚链接,因此在单击给定选项卡后,该URL可能会从

更改

host.com/page.aspx

host.com/page.aspx#tab2

问题是,如果选项卡内的任何元素导致回发,例如尝试对网格进行排序或分页,则在加载时,选定的选项卡将丢失,并返回到列表中的第一个选项卡。因此,在这种情况下,我会对正确的网格进行排序,但我必须再次单击正确的标签才能看到它。

为了解决这个问题,我想跟踪发生回发时我所处的锚点,以便我可以更改我正在加载的网址以包含它。我能想到的唯一方法是重定向,我真的不想承担这个费用。

有没有更好的方法来指定在回发时加载哪个锚?

2 个答案:

答案 0 :(得分:1)

在表单onsubmit事件上,修改action属性以包含相关的锚点(您需要跟踪自己)

答案 1 :(得分:0)

如果网页回发给自己,那么您需要将回复发送回foo.aspx,而不是将帖子发回foo.aspx#anchor

如果必须,你也可以通过cookie来做到这一点,但锚点要好得多。 Cookie对于自定义Yahoo页面以在每次访问时专注于特定选项卡等内容更有用。