0

大家好。我有一个列出一堆用户帐户的 ASP.NET 页面。

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

我还可以搜索用户,从而缩小列表范围。此事件称为 btnSearch_click

如果我点击一个用户,LinkChosen() 会被调用,我会被带到一个新页面。如果我点击后退按钮并尝试进行搜索,而不是触发 btnSearch_click(),它仍会触发 LinkChosen() 事件并将我带到我在推回之前查看的帐户。在单击帐户之前进行搜索可以正常工作。

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

有没有人有任何想法?

谢谢。

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

4

3 回答 3

1

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

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

因此,如果您需要两个按钮来响应页面各自部分的 Enter 按下,请将它们都包装在自己的 asp:Panel 中并设置 DefaultButton。

于 2009-02-25T15:04:41.683 回答
0

嗯……这听起来太奇怪了,不可能是真的……

如果在代码隐藏中,我会检查事件处理程序是如何连接的(代码前端或代码隐藏),您确定它们是否正确绑定。

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

只是一个想法..您可以使用普通的旧 asp:hyperlink 或 href="" 将您带到显示单个帐户的页面吗?IE 有 ShowAccount.aspx(或任何你叫它的东西)接受一个查询参数,告诉它要显示哪个帐户?(而不是使用 postback/response.redirect)将您带到页面?我发现直接在 URL 上提供资源使整体开发更容易。(尽管这与您的特定错误无关)

于 2009-02-25T15:01:04.997 回答
0

我通常看到的是浏览器在回击后强制你刷新页面。因此,要实际执行任何操作,您需要重新发布页面,从而重新发送点击。您可以使用普通的 asp:hyperlink,而不是 asp:linkbutton。您将保存回发,并完全避免该问题。

于 2009-02-25T17:25:08.943 回答