马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
目次
故障征象
开辟运行环境
办理
别的
故障征象
System.Web.UI.WebControls.Button 提供了 OnClientClick 和 OnClick 变乱属性。OnClientClick 提供客户端JS实验本领,并以 return false 或 return true 来决定是否继承实验 OnClick 变乱,OnClick 变乱实验服务器方法,实验 OnClick 变乱会革新 Web 页面。
好比如下代码:
- <asp:Button id="sendButton" OnClientClick="return sendReady();"
- runat="server" class="btn btn-white"
- Text="发送短信验证码" onclick="sendButton_Click" />
复制代码 OnClientClick 变乱实验 sendReady() JS函数,如果函数 return true; 则实验 onclick 变乱中 sendButton_Click 服务器方法。
别的如果点击此按钮将其置为不可用状态(this.disabled = true;), 再去调用别的服务器按钮变乱,如下图:
图中的发送按钮点击乐成后,临时按钮不可用。此时去操纵别的服务器按钮,如上传图片。则大概会出现不可用按钮规复可用状态时,点击后直接实验了服务器方法,即 OnClientClick 变乱属性消散。
开辟运行环境
操纵体系: Windows Server 2019 DataCenter
.net版本: .netFramework4.7.2
开辟工具:VS2019 C#
办理
发现通过服务器变乱捆绑,无效:
- void Page_load(Object sender, EventArgs e)
- {
- sendButton.OnClientClick = "return sendReady();";
- }
复制代码 客户端变乱捆绑,有效:
- sendbtn.setAttribute("onclick","return sendReady();");
复制代码
别的
本示例中如果将按钮置为不可用状态(disabled = true;),纵然客户端 JS 返回 return true ,也无法调用服务器方法,须要通过 JS 引用,简单的引用方法,我们可以调用如下代码:
- __doPostBack(document.getElementById("sendButton").name, '');
复制代码 __doPostBack方法由.net 天生并管理,可以调用服务器方法,请留意引用的是元素的 name 而不是 ID,引用此方法还须要在页面头部引用如下属性:
- <%@ Page Language="C#" AutoEventWireup="true" MaintainScrollPositionOnPostback="true" %>
复制代码 固然如果不添加此选项,我们还可以通过模拟调用潜伏服务器按钮的方法。
感谢您的阅读,盼望本文可以大概对您有所资助。
|