我遇到了与另一个问题中描述的问题类似的问题: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) Handles 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是否被注释掉,不存在或被禁用。
答案 0 :(得分:0)
我遇到了与LinkButtons类似的东西。事实证明,某些移动浏览器以及控件的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可能非常相似。有关详细信息,请参阅此SO问题:Chrome on iPad not working with ASP.NET 4