我有一个 ASP.NET ImageButton,OnClientClick() 应该触发一个 js 函数,该函数从两个文本字段中读取值,并将其发送到服务器端 WebMethod。使用 WebMethod 将其发送到另一个处理存储的实体方法。我已经尝试通过在服务器端的 WebMethod 和存储方法中设置断点来进行调试,但都没有达到。然后我尝试使用 Mozilla Firebug 工具在客户端设置断点。js 函数永远不会被调用,页面只是刷新。我在另一个js函数中设置了一个断点,它被完美地跟踪了。有什么帮助吗?
ASP
<asp:ImageButton input="image" ID="btnSend" ImageUrl="Images/send_button.jpg"
runat="server"
onclientclick="javascript:handle(); return false">
</asp:ImageButton>
JS
function handle() {
window.$get("#" + "<%= btnSend.ClientID %>").click(
function () {
var txtVC = window.$get("#" + "<%= txtVC.ClientID %>").value();
var txtMsg = window.$get("#" + "<%= tbMgSend.ClientID %>").value();
if (txtVC != "" || txtMsg != "") {
window.PageMethods.SendMsg(txtVC, txtMsg, txtMessageResult);
return window.$get("#" + "<%= lblMessageStatus.ClientID%>").value("SUCCESS"),
alert("SUCCESS");
}
else {
return alert("Text Message is Empty!");
}
});
}
function txtMsgResult(result) {
if (result != '') {
window.$("#" + "<%= lblMessageStatus.ClientID %>").innerHTML = result;
alert("SUCCESS");
}
}
我尝试了以下方法: * OnclientClick 带和不带返回 * $get 带和不带 concat(+) * 将服务器端更改为方法而不是 web 方法,这也没有触发