2013-07-04 2 views
0

데이터 소스를 json_data로 변환하는 데 문제가 있습니다. 그것은 당연히,데이터 소스를로드하고 json_data로 변환하는 중 오류가 발생했습니다.

var data2 = { }; 
    function GetJsonData(callback) { 

     $.ajax({ 
        type: "POST", 
        async: true, 
        url: "Default.aspx/GetJson", 
        //contentType: "application/json; charset=utf-8", 
        //data: '{name:""}', 
        dataType: "json", 
        cache: false, 
        success: function(msg) { 
         callback(msg); 
        }, 
        error: function(err) { 
         alert('error'); 
        } 
       }); 
    } 
    data2 = GetJsonData(); 
    $(function() { 
     $("#MainTree,#SubTree").jstree({ 
      "json_data": { 
       "data": data2, 
      }, 
      "plugins": ["themes", "json_data", "ui", "dnd"] 
     }); 
    }); 

내가 "데이터"를 숨기면 : 나의하여 default.aspx.cs에서

: 여기 내 코드입니다

[WebMethod] 
public string GetJson() 
{ 
    System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); 
    List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>(); 
    Dictionary<string, object> row = null; 

    DataTable dtEmployee = new DataTable(); 

    dtEmployee.Columns.Add("EmpId", typeof(int)); 
    dtEmployee.Columns.Add("Name", typeof(string)); 
    dtEmployee.Columns.Add("Address", typeof(string)); 
    dtEmployee.Columns.Add("Date", typeof(DateTime)); 

    // 
    // Here we add five DataRows. 
    // 
    dtEmployee.Rows.Add(25, "Rk", "Gurgaon", DateTime.Now); 
    dtEmployee.Rows.Add(50, "Sachin", "Noida", DateTime.Now); 
    dtEmployee.Rows.Add(10, "Nitin", "Noida", DateTime.Now); 
    dtEmployee.Rows.Add(21, "Aditya", "Meerut", DateTime.Now); 
    dtEmployee.Rows.Add(100, "Mohan", "Banglore", DateTime.Now); 

    foreach (DataRow dr in dtEmployee.Rows) 
    { 
     row = new Dictionary<string, object>(); 
     foreach (DataColumn col in dtEmployee.Columns) 
     { 
      row.Add(col.ColumnName, dr[col]); 
     } 
     rows.Add(row); 
    } 
    return serializer.Serialize(rows); 
}  

그리고 여기 내 default.apsx 페이지에 노드를 만들지 않습니다. 하지만 지금은 데이터 소스에서 json_data를 얻기 위해 default.aspx.cs에서 GetJson 메서드를 호출하려고합니다. 그것은 항상 "..로드 중"을 보여줍니다. jsTree를 사용하고 있습니다 .net framework 2.0 ...이 문제에 대한 해결책을 찾아 내도록 도와주세요. 감사합니다.

+0

당신이 CS에서 예외가 있습니까? –

+0

@AlexFilipovici 게시물 –

+0

@kostasch를 따르십시오. 아니, 예외가 없습니다 .. –

답변

1

Default.aspx.cs/GetJson 대신 Default.aspx/GetJson을 사용하십시오.

+0

오 .. 내가 그것을 변경하고 또한 메서드에 대한 "정적"을 추가 .. 어떤 결과가 없습니다 .. –

0

파일 이름을 변경하는 것 외에도 (필자가 언급 한 @Alex Filipovici) 방법은 static이어야합니다.

[WebMethod] 
public static string GetJson() 
{ 
} 

편집 :::

이 내가했고, 다시 결과를 가지고 무엇을 :

$(document).ready(function() { 

      $("[id$=_btnPostReminder]").click(function() { 
       var a = ""; 
       var remindertext = ""; 
       var re = ""; 
       var res = ""; 
       $.ajax({ 
        type: "POST", 
        url: "Default.aspx/GetJson", 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: 
     function Ret(response) { 
      var Result = response.d 
      alert(Result) 

      return false; 
     }, 
        error: function (data, status, jqXHR) { 
         alert(jqXHR); 
        } 
       }); 
       return false; 
      }); 
     }); 
+0

나는 그것을 변경 ..하지만 어떤 결과가 없었어요 .. –

+0

pls 내 편집을 참조하십시오. – Zaki

+0

나는 ".. 로딩"을 시도했지만 여전히 수정 된 코드 –

관련 문제