【问题标题】:ImageButton event not firing on only one pageImageButton 事件仅在一页上触发
【发布时间】:2013-10-24 10:25:14
【问题描述】:

我在整个解决方案的一个页面上遇到问题,似乎图像按钮的点击事件没有触发。首先让我描述一下网站的相关部分。 这个问题一共涉及到四页。Pages A-D。

我从页面 A 开始,从页面 A 通过一个有效的 ImageButton 导航到页面 B。这里捕获了一些数据,然后我通过另一个有效的 ImageButton 进一步导航到页面 C。在页面 CI 上有两个 ImageButton,这些是给我带来麻烦。一个只是应该带我回到页面 A,另一个带我到页面 D。带我到页面 DI 的那个会发送一些参数。

现在,如果我单击其中任何一个,我就会返回页面 A,但是在调试时,即使是在应该让我返回的页面上,我也看不到被击中的代码。这是我在aspx 页面:

<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/images/backBtn.jpg" />
<asp:ImageButton ID="ImageButton2" runat="server" ImageUrl="~/images/nextBtn.png" />

我的代码如下:

Protected Sub ImageButton1_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs) Handles ImageButton1.Click
    Response.Redirect("pageA.aspx")
End Sub

Protected Sub ImageButton2_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs) Handles ImageButton2.Click
    Response.Redirect("pageD.aspx?option=4&ref=" & lblInfo.Text)
End Sub

这些按钮不在更新面板中。我试图解决这个问题:

删除它们并从头开始阅读它们。 变成正常的 asp:Button 看看它是否是 ImageButtons 的问题,问题仍然存在。 将 AutoEventWireUp 设置为 true。 将 aspx 中的 OnClick 显式设置为方法。 将 CausesValidation 设置为 false。

以上方法均无效。如果有人可以提供帮助,我将不胜感激。

【问题讨论】:

  • 附带说明,如果您的按钮只是重定向到另一个页面,您应该将您的ImageButton 替换为更简单的Image 控件,并带有NavigateUrl 属性。这将避免对您的服务器的双重请求:第一个 POST 处理回发,然后是实际的重定向。相反,“简单”链接将直接将用户重定向到目标页面。对于需要一些额外数据(例如来自文本框)的情况,您可以使用一些 javascript 来处理这个问题(但实际上需要一些工作)。
  • 你是否设置了图片按钮的回发网址?
  • 我在其他地方也读到过,我需要设置我的 PostBackUrl,尽管我不清楚将其设置为什么。此外,我的解决方案中的其他 ImageButtons 都没有设置,所以我不认为这会导致我的问题。
  • 不涉及url重写或默认文档?可能是 pageC 中的一些代码或一些基类,它在点击事件处理之前在回发时触发,并重定向到页面 A ? (可能是一些重定向到 pageA 的错误处理)
  • 没有url重写。我不知道你的默认文档是什么意思,但我确实使用母版页,但它的代码隐藏中绝对没有vb代码。aspx只是一个基本模板对于布局。至于 pageC 中的代码,除了两个按钮代码隐藏之外,这里唯一的代码是在页面加载时执行的代码,如果不是 isPostBack。

标签: asp.net vb.net


【解决方案1】:

不涉及 url 重写或默认文档?

可能是 pageC 或某个基类中的一些代码,在点击事件处理之前在回发时触发,并重定向到页面 A ? (可能是一些重定向到 pageA 的错误处理)

【讨论】:

    猜你喜欢
    • 2011-02-05
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-04
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多