2009-02-25 55 views
0

嘿,所有。我有一个列出一堆用户帐户的ASP.NET页面。.NET:点击后退按钮弄乱我的事件处理程序

如果我点击某个用户,会触发一个名为LinkChosen的事件,该事件将打开该用户的帐户视图页面。

我也可以搜索缩小列表范围的用户。这个事件被称为btnSearch_click

如果我点击一个用户,LinkChosen()被调用,我被带到一个新的页面。如果我点击后退按钮,尝试搜索,而不是点击btnSearch_click(),它仍会触发LinkChosen()事件,并将我带回推回前查看的帐户。 在点击帐户之前进行搜索就像它应该这样做。

我正在使用C#和ASP.NET,并且此错误出现在IE中,但不是Firefox。

有没有人有任何想法?

谢谢。

澄清编辑:“显示单个帐户”操作是超链接,而不是按钮。 :)

回答

0

嗯...这听起来太怪异是真的..

我检查事件处理程序是如何勾搭上了(代码前或代码隐藏),如果代码隐藏,你确定他们被正确绑定。

您是否尝试清除浏览器缓存?可能是后退按钮会让你回到页面的旧版本?

只是一个想法..你可以使用普通的老ASP:超链接或HREF =“”带你到页面,显示一个单一的帐户? IE浏览器有ShowAccount.aspx(或者你称之为的)带一个查询参数,告诉它显示哪个帐户? (而不是使用回发/ response.redirect)让你访问页面?我发现直接在URL上提供资源可以使整体开发更容易。 (虽然这与您的特定错误无关)

+0

从我可以告诉他们似乎迷上了。特别是因为他们的工作,因为他们应该在所有情况下,但这一个,然后只在IE – Ace 2009-02-25 15:53:31

+0

另外,我已经使用超链接:) – Ace 2009-02-25 15:56:51

1

当您执行搜索时,您是否按下“Enter键”。如果是这样,页面中的第一个按钮通常是在Enter键上提交的按钮。

您可以在页面或面板上设置DefaultButton。

所以如果你需要两个按钮来响应输入按钮在他们各自的页面部分,在他们自己的asp:Panel中使用DefaultButton设置。

+0

我已经尝试了两个。只有搜索使用按钮,点击单个帐户通过超链接 – Ace 2009-02-25 15:52:48

0

我通常会看到的是,浏览器强制您在点击后刷新页面。所以要实际做任何你重新发布的页面,重新发送点击。 你可以使用一个正常的asp:超链接,而不是asp:linkbutton。您将保存回发,并完全避免该问题。