2015-06-03 3 views
0

Привет, парень, я пытаюсь прочитать данные с веб-метода и передать значение моей вкладке на странице aspx. для этого я использую Ajax и веб-метод. моя проблема в том, что я не могу привязывать данные к успеху к моей проблеме.Binding Lable from webmethod using ajax

мой .asmx страница.

public static string str; 
    [WebMethod] 
    public string GetEmployeeDetail(string name) 
    { 
     str = name; 
     Get(str); 
     string daresult; 
     daresult = Get(str); 
     return daresult; 
    } 

    [WebMethod] 
    public string Get(string str) 
    { 
     List<string> rst = new List<string>(); 
     using (SqlConnection con = new SqlConnection("...")) 
     { 
      using (SqlCommand cmd = new SqlCommand("select practice_short_name from PRACTICE_DETAIL where Practice_Name = '" + str + "'",con)) 
      { 
       con.Open(); 
       SqlDataReader dr = cmd.ExecuteReader(); 
       while(dr.Read()) 
       { 
        rst.Add(string.Format("{0}", dr["practice_short_name"])); 

       } 
       System.Web.Script.Serialization.JavaScriptSerializer jSearializer = new System.Web.Script.Serialization.JavaScriptSerializer(); 
       return jSearializer.Serialize(rst); 
      } 
     } 
    } 

и вот моя функция вызова ajax на странице aspx.

function fun() { 
     var ddlpsn = document.getElementById("<%=ddlPSN.ClientID%>"); 

     $(ddlpsn).change(function() { 
      var s = $(this).val(); 
      $.ajax({ 
       type: 'POST', 
       url: 'AutoCompleteService.asmx/GetEmployeeDetail', 
       data: '{name: "' + s + '" }', 
       dataType: 'json', 
       contentType: 'application/json; charset=utf-8', 
       success: function (data) { 
       //i think i need to do some changes in here but not getting what to do. 
        $('#lblpriority').text(data.val); 
       }, 
       error: function (error) { 
        console.log(error); 
       } 
      }); 
     }); 
    }; 

ответ

0

Вам нужно изменить data.val к data.d. Данные, возвращаемые с WebMethod, содержатся в свойстве d, если вы явно не указали свое собственное свойство для возвращаемых данных.

$('#lblpriority').text(data.d); 

Вы должны сделать свой WebMethodstatic, чтобы называли ajax.

+0

Я стараюсь, но не повезло .. все еще ничего не меняет –

+0

Показать код этикетки. Также добавьте 'ClientIDMode =" static ", если ваша метка является меткой asp. – Mairaj

+0

Вы можете увидеть консоль браузера, если вы успешно выполнили вызов ajax или нет, также если у него есть данные или нет. – Mairaj

 Смежные вопросы

  • Нет связанных вопросов^_^