aspnet webforms禁用提交按钮

2024-05-05

我在 Webforms 中遇到一个小问题。我正在尝试禁用提交时的提交按钮,以防止重复发布。 问题是,如果在回发期间禁用提交按钮,则不会调用代码隐藏中的 onclick 方法。回发仍然发生,但按钮 onclick 方法不会被调用。 有办法解决这个问题吗?

这是问题的一个小演示:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="WebApplication2._default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="Scripts/jquery-2.0.3.min.js"></script>

    <script>
        function disableButton() {
            //$('#<%=btn.ClientID%>').attr('disabled', 'diabled');
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Literal runat="server" ID="ltrDate" />
        <asp:Button runat="server" ID="btn" OnClientClick="disableButton();" Text="Hit me!" OnClick="Unnamed_Click" />
    </div>
    </form>
</body>
</html>

隐藏代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication2
{
    public partial class _default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Unnamed_Click(object sender, EventArgs e)
        {
            Thread.Sleep(1000);
            ltrDate.Text = DateTime.Now.ToString();
        }
    }
}

如果运行此代码,它可以正常工作,但如果从 javascript 方法中删除 //,则按钮的 onclick 方法将不再被调用。 (回发仍然正常)

/Martin

更新: 看来是老问题了。。

我从来没有让它工作过,因为当按钮在客户端被禁用时,它的信息不再发布回服务器,因此它的服务器端单击事件不会触发。我怀疑这就是你所看到的行为。 如果你确实能做到这一点,我很想知道如何做。 伊恩·奥尔森 2004 年 6 月 9 日星期三


更简单的解决方案:

<asp:Button ID="btnFind" runat="server" Text="Find"
    OnClientClick="if(this.alreadClicked == true) {this.disabled = true;
    this.value = 'Wait...';} else {this.alreadClicked = true;}" EnableViewState=false
</asp:Button>

无论如何,您都禁用该按钮,并向用户提供反馈“等待...”,但必须使用 EnableViewState=false,以便在页面刷新时该按钮重置为原始状态。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

aspnet webforms禁用提交按钮 的相关文章

  • iOS Javascript DOM“冻结?”

    这里有几个问题 有没有办法阻止 iOS 在滚动时冻结页面上的 javascript 当您在另一个选项卡中或切换应用程序时 iOS 是否会冻结 JavaScript iOS 上还有其他主要的 javascript 限制吗 iOS 6 x 会暂
  • 如何阻止地址自动填充谷歌地点

    所以我在我的表单上有一个谷歌地图自动完成功能 当它到达一个位置时 它会占据该位置并格式化它 以便所有正确的信息都进入表单上的不同输入 我遇到的问题是在 place changed 事件触发自动完成填充输入之前 我想阻止最初的人口 而是填充我
  • 在 Nodejs/javascript 中的 Excel 中创建动态数量的列或标题

    我用过exceljsNodejs中用于将json数据导出到excel的模块 它工作正常 但必须在添加行之前预定义标题 列的名称 即列是固定的 添加行后 我无法动态添加列 我尝试了许多通过 npm 提供的模块 但它们都具有相同的功能 那么 有
  • 外部 CSS 是否应用于 jsPDF 生成的 pdf

    我已经开始使用 jspdf 制作一些演示 我有一个 html 文件 我的 css 在外部文件中 我写了下面的代码来生成我的pdf pdfButton on click function var pdf new jsPDF p in lett
  • flexslider 中的 GIF 滑块,如何仅在滑块上时开始 gif

    现在我有一个带有四个幻灯片的 Flexslider 第三个滑块是 gif 而不是像其他滑块一样是 jpg 我遇到的问题是 第三个 gif 滑块显然在到达页面时立即启动 而不是在您实际到达该滑块时启动 当点击前两个滑块时 gif 就快完成了
  • Karma + JSPM + Typescript - 未找到“.ts.js”

    主要只是想让 Karma JSPM 在加载 ts 文件时发挥良好作用 但绝对没有运气 我看到一个讨论库 https github com Larchy karma jspm typescript coverage tree master一个
  • 用于匹配重复子字符串的单个js正则表达式?

    假设我有一个字符串 例如 where is mummy where is daddy 我想用空字符串替换任何一组重复子字符串 所以在这种情况下where and is元素将被删除 结果字符串将是 mummy daddy 我想知道是否有任何单
  • 将所有 Web API 请求路由到一种控制器方法

    是否可以自定义 ASP NET Web API 路由机制 将所有对 API 的请求路由到一个控制器方法 如果请求到达 www mysite com api products or www mysite com api otherResour
  • 如何在jsp中使用javascript动态创建下拉框?

    我正在尝试动态创建下拉框 就像当我单击添加按钮时它必须创建新的下拉框 下拉列表还包含动态值 例如需要当前年份并且必须显示最多五年 请建议我这样做 谢谢 这是我尝试过的代码 JavaScript 代码 function Add var nam
  • 当用户输入/删除时,使文本字段中的提示消失/重新出现[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 有谁知道我怎样才能在我的搜索栏中做出
  • 扩展html表格突出显示行和列并使当前单元格具有不同的颜色

    我找到了用鼠标悬停时突出显示行和列的示例 https stackoverflow com a 28312853 139698 https stackoverflow com a 28312853 139698 如何使鼠标悬停的一个单元格变为
  • 在Vue.js 3中添加全局变量

    如何在 Vue js 3 中添加全局变量 在 Vue js 2 中 我们在main js file Vue prototype myGlobalVariable globalVariable 最直接的替换就是app config globa
  • 云函数 onUpdate:无法读取未定义的属性“forEach”

    现在我正在尝试更新我的项目中的图片 我可以更新云火商店中的图片网址 但我也想使用 firebase 云功能从云存储中删除上一张图片 我想要实现的是 当我上传新图片时 从云存储中删除以前的图片 This is my data structur
  • 如何优化 Three.js 中多个 sphereGeometry 的渲染?

    我想优化 Three js 中 sphereGeometry 的渲染 因为它成为我的程序的瓶颈 javascript程序如下所示 var sphereThree for var idSphere 0 idSphere lt numSpher
  • 将base64图像转换为Node Js中的文件

    我是 Node Js 新手 我需要包含用户的个人资料图片 我从 IOS 应用程序收到 Base64 图像的请求 我需要将其存储在 images 文件夹中并将图像路径保存在 mongodb 数据库中 我使用了以下代码 var bitmap n
  • 如何使用jquery点击眼睛图标时显示和隐藏密码

    我需要在单击眼睛图标时显示和隐藏用户密码 因此我为此编写了脚本 当我单击眼睛图标时 只有类正在更改 但密码不可见 再次单击斜线眼睛图标 它应该隐藏这两个图标方法不起作用如何解决这个问题
  • 如何让 Grunt.js 和 Meteor.js 协同工作?

    我想在我的 Meteor 应用程序中使用简单的复制和串联 但是当 Meteor 在服务器和客户端上运行所有 javascript 文件时 我遇到了问题 而我不希望它们在任何地方运行 它要么只是配置文件 例如Gruntfile js或我想以某
  • D3.js - 更改鼠标悬停时元素的不透明度 IF 条件 = false

    我正在制作一个带有过滤器的交互式 D3 js 图表 当用户单击选定的复选框时 该过滤器会显示点 此外 在鼠标悬停事件上 所选点旁边将出现一个弹出窗口 其中包含一些信息 由于图表上的点数量相对较多 因此我选择在取消选中相应复选框时使相关点变得
  • 如何运行 Mike Bostock 的 D3 示例?

    我一直在尝试经营迈克博斯托克透视地球仪 http bl ocks org mbostock 6747043例如 但是如果您尝试在本地重现它 则对其 json 文件的引用是不正确的 问题来自于这行代码 d3 json mbostock raw
  • React 嵌入脚本标签不可样式化

    我打算将 SurveyMonkey 调查嵌入到我的网站中 用 React 制作 只是让它工作起来很麻烦 但最终这段代码工作了 let script let extractScript

随机推荐

  • Flex - 自动调整数据网格大小的问题

    我正在尝试创建一个数据网格 它将垂直调整大小以确保所有渲染器完整显示 此外 渲染器的高度可变 渲染器可以自行调整大小 一般来说 事件的流程如下 项目渲染器之一会自行调整大小 通常响应用户单击等 它调度父数据网格拾取的冒泡事件 DataGri
  • 如何在 Angular 2 中封装动态添加的元素?

    尝试让 MDL 与 Angular2 一起工作 通过 Shadow DOM 模拟 Angular 封装了从代码中获得的所有 CSS 和 html 但是当我使用componentHandler upgradeElement 它创建没有封装的新
  • 在二进制 R 包中包含测试

    我在用testthat为我的 R 包编写单元测试 我见过一些软件包作者 比如来自Rcpp and ggplot2 使用二进制文件分发单元测试 但是 当我使用 RStudio 0 98 1102 构建包时devtools 1 7 0 test
  • 从 Spring 4.1.6 升级到 4.2.4 突然出现 TransactionRequiredException

    我已经从 4 1 6 Release 升级到最新的 Spring 版本到 4 2 4 Release 突然之间 之前运行顺利的所有功能现在抛出以下异常 javax persistence TransactionRequiredExcepti
  • MongoDB - 手册参考示例

    我正在读手册参考 http docs mongodb org manual reference database references document referencesMongoDB 数据库参考文档的一部分 但我不太理解 解析引用字段
  • 调整浏览器大小时CSS边框影响宽度

    我使用以下方法制作了两个简单的导航菜单ul and li 一种是无边框的 另一种是有边框的 两个菜单的宽度固定为 400px 在第一个菜单中我给了每个li固定宽度为 100px 在第二个菜单中 根据宽度计算 我给出了固定宽度 98px 左右
  • PHP - 多个不同的数据库依赖注入类

    我花了过去几个小时试图找到 最佳 最合乎逻辑的方法的答案 以编写一个 php 数据库类以同时连接到一个 postgresql 数据库和一个 mysql 数据库 另外 我想采用依赖注入设计 但对整个概念还是陌生的 到目前为止我已经想出了 cl
  • 为什么我的 CSS3 媒体查询无法在移动设备上运行?

    在 styles css 中 我使用媒体查询 两者都使用以下变体 Normal CSS styles media only screen and max width 767px Mobile styles go here 当我缩小窗口时 网
  • React - 如何获取组件子元素的大小并重新定位它们

    我有一个组件 它在动态网格中排列元素 如下所示 class GridComponent extends React Component render return div items map function item return div
  • 使用列值作为 Spark DataFrame 函数的参数

    考虑以下数据框 letter rpt X 3 Y 1 Z 2 可以使用以下代码创建 df spark createDataFrame X 3 Y 1 Z 2 letter rpt 假设我想重复每行列中指定的次数rpt 就像这样questio
  • 使用 -static-libgcc -static-libstdc++ 编译仍然会导致对 libc.so 的动态依赖

    我正在尝试制作一个尽可能可移植的可执行文件 删除一些依赖项后 我在另一个系统上运行二进制文件时遇到以下问题 lib x86 64 linux gnu libm so 6 version GLIBC 2 15 not found requir
  • 通过 XMLHTTPRequest 发布时无法设置自定义编码

    从上个版本的chrome浏览器的JS控制台来看 x new XMLHttpRequest x open POST a 2 x setRequestHeader Content Type application x www form urle
  • 从条件映射类型中排除“{}”

    我们在以下界面上工作 interface A a string b string c number d number 我们有一个类型可以让每个键都在T optional如果他们的类型是string and required如果是number
  • WebMatrix sql LIKE %

    我在执行以下查询时遇到问题 当我使用静态参数直接从 WebMatrix 执行它并返回几行时 它可以工作 但不能从我的 cshtml 页面执行 var accounts database Query SELECT Username Email
  • 通过 const 成员的引用传递时尝试引用已删除的函数

    我显然错过了一些东西 如果我有 class MyClass public const int something MyClass int Something something something 这将失败 尝试引用已删除的函数 因为我没有
  • 如何启动 VBS 的交互式控制台?

    与这个问题非常相似 如何启动 Perl 的交互式控制台 https stackoverflow com questions 73667 how can i start an interactive console for perl 我只是希
  • 如何使用正则表达式替换匹配的组值

    我想修改连接字符串中 数据源 组件的值 我正在考虑以下解决方案 使用这个正则表达式模式 data source w 1 w 我可以获得以下字符串匹配 Match Groups 0 Value data source MY PC SQLEXP
  • GCD获取队列名称/标签

    如何获取当前队列名称 我的意思是队列标签com example myqueue 在 Xcode 4 调试器中我只能看到 block invoke 1 怎么样dispatch queue get label http developer ap
  • 运行时 SQL 查询生成器

    我的问题类似于 Java中有什么好的动态SQL生成器库吗 https stackoverflow com questions 5620985 is there any good dynamic sql builder library in
  • aspnet webforms禁用提交按钮

    我在 Webforms 中遇到一个小问题 我正在尝试禁用提交时的提交按钮 以防止重复发布 问题是 如果在回发期间禁用提交按钮 则不会调用代码隐藏中的 onclick 方法 回发仍然发生 但按钮 onclick 方法不会被调用 有办法解决这个