asp.net - 为什么代码会被 ASP 触发一次 :ImageButton Click not Triggered

标签 asp.net vb.net mobile jquery server-sent-events

我有一个与另一个问题中描述的类似的问题:aspnet webforms disable button on submit 。在添加 jQuery 和 jQuery mobile 之前,我的 ASP.NET Web Forms 网站工作正常。使用 NuGet 安装这些包后,我的图像按钮的代码将被忽略。在我设置 UseSubmitBehavior="true" 之前,一个简单的按钮与图像按钮有类似的问题。禁用 jQuery Mobile 足以重新启用按钮功能。还有一个奇怪的问题,即 IE10 的“查看源代码”返回上一页的标记,而开发人员菜单显示实际的 XHTML - 我不知道这是否相关。

我的代码通常应该在单击图像按钮后运行 Protected Sub BTNtoggleHole_Click(sender As Object, e As ImageClickEventArgs) Handles BTNtoggleHole.Click 但它拒绝,所以我强制它在 中运行>Public Sub Page_Load(sender As Object, e As EventArgs) 处理 Me.Load。我缺少一些页面生命周期的东西吗?

以下是不再触发任何服务器端代码的按钮:

<asp:ImageButton ID="BTNtoggleHole" runat="server" Style="float: right;" ImageUrl="~/Images/Buttons/Handicaps/9-hole-toggle.png" CausesValidation="False" ClientIDMode="Inherit" AlternateText="18/9 hole toggle" />

无论 jQuery 是否被注释掉、不存在或禁用,单击该按钮都会导致回发。

最佳答案

我遇到了与 LinkBut​​tons 类似的情况。事实证明,这是某些移动浏览器以及控件的 JavaScript 处理方式的问题。您可以为某些浏览器设置 ClientTarget="uplevel"来解决该问题。我在页面的基类中添加了以下内容,以便把事情搞清楚:

    ' HACK: This is needed to get LinkButtons working in Chrome for Mobile (on iOS)
    ' This has to be in the page and cannot be in the masterpage or control.
    ' https://stackoverflow.com/questions/11591776/chrome-on-ipad-not-working-with-asp-net-4
    Protected Overrides Sub OnPreInit(ByVal e As System.EventArgs)
        If Request.UserAgent IsNot Nothing AndAlso _
            (Request.UserAgent.IndexOf("AppleWebKit") > -1 OrElse _
             Request.UserAgent.IndexOf("chrome") > -1 OrElse _
             Request.UserAgent.IndexOf("crios") > -1) Then
            Me.ClientTarget = "uplevel"
        End If
        MyBase.OnPreInit(e)
    End Sub

同样,这对我的 LinKButtons 有用,但 ImageButton 可能非常相似。有关更多详细信息,请参阅此问题:Chrome on iPad not working with ASP.NET 4

关于asp.net - 为什么代码会被 ASP 触发一次 :ImageButton Click not Triggered,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19095297/

相关文章:

mysql - 如何解决 VB.net 中的 MySQL Select 语句错误?

vb.net - 按列 ("TagIndex = 5"搜索 dgv 列)

javascript - 使用 JavaScript 在移动网站中自动对焦地址栏

javascript - 剑道时间选择器中的格式错误

asp.net - 跟踪来自 javascript 的任何 asp.net Web 服务调用

ASP.NET SSL 在 IIS 下设置,但网站不断跳回 http

asp.net - css 虽然代码改变了,但图像没有改变

vb.net - 确定哪个进程锁定了文件

html - 移动平台的样式网站。为什么一部手机有两种分辨率?

linux - 手机上的 SD 卡图像无法在 PC 上显示