我有一个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 with without concat(+) *将服务器端更改为方法而不是Web方法,并且也不会触发
答案 0 :(得分:0)
您是否在没有return false
的情况下尝试过它?
<asp:ImageButton input="image" ID="btnSend" ImageUrl="Images/send_button.jpg"
runat="server"
onclientclick="handle()">
</asp:ImageButton>
答案 1 :(得分:0)
也许它不起作用,因为它是autoPostBack。 我不确定是否有办法在ImageButton中将其关闭。为什么不使用HTML控件?