OnClientClick не запускает ImageButton - PullRequest
0 голосов
/ 07 декабря 2011

У меня есть 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 (+) * изменение стороны сервера на метод вместо веб-метода и чтотакже не стрелял

Ответы [ 2 ]

0 голосов
/ 07 декабря 2011

Может быть, это не работает, потому что это autoPostBack.Я не уверен, что есть способ выключить его в ImageButton.Почему бы вместо этого не использовать элемент управления HTML?

0 голосов
/ 07 декабря 2011

Вы пробовали без return false?

<asp:ImageButton input="image" ID="btnSend" ImageUrl="Images/send_button.jpg" 
   runat="server"                                                            
  onclientclick="handle()">
</asp:ImageButton>
...