2015-04-02 2 views
0

Это мой первый раз, используя ajax, поэтому я не уверен, где я ошибаюсь. Когда выпадающее меню изменяется, я вызываю метод в javascript, где я хочу вызвать метод в коде. Это Разметка раскрывающийся:ajax не вызывающий метод в url

<asp:DropDownList ID="ddListSubject" runat="server" ClientIDMode="Static" onchange="SubjectChanged()" CssClass="chosen-single"> 
     </asp:DropDownList> 

Это Java-функция «SubjectChange()», что называется.

function SubjectChanged() { 
     var strSubject = document.getElementById("ddListSubject").value; 
     if (strSubject == "Custom") { 
      document.getElementById("txtBoxSubject").value = ""; 
      document.getElementById("txtBoxSubject").focus(); 
     } 
     else { 
      document.getElementById("txtBoxSubject").value = strSubject; 
     } 
     ShowMaxMsgLength(); 
     CountChars(); 
    } 

Функция 'ShowMaxMsgLength()' содержит код Ajax для вызова метода в коде-позади:

function ShowMaxMsgLength() {       
     $.ajax({ 
       type: "POST", 
       url: "Default.aspx/GetMaxMsgLength", 
       data: "{'id': '1'}", 
       contentType: "application/json; charset=utf-8", 
       datatype: "json", 
       success: OnSuccess, 
       failure: OnFailure, 
       error: function (exception) { alert('Exception:' + exception); } 
       }); 
    }; 

Это метод GetMaxMsgLength() в коде-позади:

public static string GetMaxMsgLength(int id) 
     { 
      string tstrMaxMsgLength = string.Empty;  
      return tstrMaxMsgLength = "32"; 
     } 

Я просто хочу, чтобы он возвращал '32', чтобы посмотреть, работает ли этот метод. Я знаю, что ShowMaxMsgLength() вызывается, потому что я помещаю в него «предупреждение».

Исключено: Исключение: [object Object] '. Я не знаю, что я не устанавливаю, что вызывает это исключение.

Спасибо.

ответ

0

Это было что-то, что только новичок пропустит ... Добавлен [System.Web.Services.WebMethod] атрибут перед методом GetMaxMgsLength.