【发布时间】:2013-09-30 13:17:48
【问题描述】:
我有一个与另一个问题中描述的问题类似的问题:aspnet webforms disable button on submit。在我添加 jQuery 和 jQuery mobile 之前,我的 ASP.NET Web 窗体站点运行良好。使用 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 是否被注释掉、不存在或禁用,单击该按钮都会导致回发。
【问题讨论】:
-
点击它会导致回发吗?该回发的请求值在更改前后有何不同?您是否使用了任何修改客户端代码的 jQuery 代码?
-
您所说的“添加 jQuery 和 jQuery mobile”是什么意思,是指单纯的脚本引用还是实际的脚本逻辑?如果合乎逻辑,请发布。
-
@David 我在 ImageButton 中添加了 data-role="none"。尽管此属性应该禁用该按钮的任何 jQuery/JavaScript,但它不会改变任何内容 - BTNtoggleHole_Click 方法永远不会被调用。其他元素确实使用 jQuery Mobile 的数据角色,例如可折叠。另外,是的,该按钮会导致回发。
-
我会看看该 ImageButton 呈现的 HTML 之间的区别(使用和不使用 jQuery)。听起来您使用 jQuery 的任何内容都在覆盖 ASP.NET 用于导致 PostBack 的内容。
-
@KarlAnderson 我在母版页中添加了脚本引用。禁用所有脚本引用会启用 BTNtoggleHole_Click 方法。我不使用自定义脚本,也不修改 jQuery 的逻辑,但我确实使用了正常的数据角色,例如可折叠。唯一使用 jQuery 的父元素是 data-role="content" 的 div 和 data-role="page" 的 body。注释掉脚本引用会启用按钮的方法。
标签: asp.net vb.net mobile jquery server-sent-events