gpt4 book ai didi

asp.net - 如何为同一个按钮运行客户端和服务器端代码?

转载 作者:行者123 更新时间:2023-12-04 19:23:27 24 4
gpt4 key购买 nike

在 Asp.NET aspx 页面中,有一个保存数据的按钮,当用户点击这个按钮时,我想要:
1.立即禁用此按钮
2.然后调用函数Save()后面的代码将数据保存回DB
3. 然后再次启用此按钮。

我做了什么如下:

  • apsx 中的 JS 函数:

    函数 DisableSave(){
    saveButton = document.getElementById('<%=btnSave.ClientID%>');
    saveButton.disabled=true;
    返回假;
    }
  • 按钮脚本:

    <---asp:Button ID="btnSave"OnCommand="Button_Command"CommandName="Save"runat="server"
    Text="Save"OnClientClick="javascript:DisableSave();"/>
  • 在函数 Save() 后面的代码中(假设由 CommandName 调用),将保存按钮启用设置回来。

  • 但是当我运行代码时,只禁用了保存按钮,调用后面的代码没有发生。

    如何解决?

    最佳答案

    显然,如果禁用按钮,某些浏览器 (IE) 将不会处理按钮的提交操作。我在 Firefox 中试过这个,它确实回发了,但 IE 没有运气。尽管不提供用户反馈,但一种解决方法是执行 OnClientClick="this.onclick= function() { return false; }" .这至少可以防止发生更多的回发。

    编辑: onclick 需要是一个函数而不是一个字符串。

    关于asp.net - 如何为同一个按钮运行客户端和服务器端代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1909984/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com