2013-05-13 4 views
0

에서 DataTable을 읽을 수있는이 같은 DataTable에를 반환하는 기능을 가지고 방법 :내가 자바 스크립트

public DataTable SendOnlineContacts() 
{ 
... 
    for (int i = 0; i < FriendsDt.Rows.Count; i++) 
     { 
      int FriendID = Convert.ToInt16(FriendsDt.Rows[i][0]); 
       DataRow[] FriendisOnlineRow = ConnectedClientDt.Select("ClientID=" + FriendID); 

       if (FriendisOnlineRow.Length > 0) // friend is online 
       { 
        // new SQLHelper(SQLHelper.ConnectionStrings.WebSiteConnectionString).Update("Update clients set USER_STATUS='O' where CLIENT_ID=" + FriendsDt.Rows[i][0]); 
        FriendsInfo.Rows.Add(FriendsDt.Rows[i][0] + "," + FriendsDt.Rows[i][1] + "," + FriendsDt.Rows[i][2] + "," + "O"); 
        } 
      } 
      return FriendsInfo; 
    } 

클라이언트 측 :

$.ajax({ 
    type: 'POST', 
    url: 'ChatPageTest.aspx/SendOnlineContacts', 
    data: '{}', 
    contentType: 'application/json; charset=utf-8', 
    dataType: 'json', 
    success: function (data) { 
    // what to do here to read the DataTable ?? 
    } 
     ... 

이 도와주세요 그리고 당신은이 유를

+0

당신은 JSON으로 변환해야합니다. – Tigran

+0

예제를 제공 할 수 있습니다 – Sora

+0

글쎄, 나는 그것이 작동하는지 의심 스럽다. 어디에서 데이터 행으로부터 JSON 객체를 생성하고 있는가? 경우에 따라 성공 함수에서 데이터 콜렉션을 반복합니다. – Oscar

답변

1

이 시도 :

public object[][] SendOnlineContacts() 
{ 
    //... 
    for (int i = 0; i < FriendsDt.Rows.Count; i++) 
    { 
     int FriendID = Convert.ToInt16(FriendsDt.Rows[i][0]); 
     DataRow[] FriendisOnlineRow = ConnectedClientDt.Select("ClientID=" + FriendID); 

     if (FriendisOnlineRow.Length > 0) // friend is online 
     { 
      // new SQLHelper(SQLHelper.ConnectionStrings.WebSiteConnectionString).Update("Update clients set USER_STATUS='O' where CLIENT_ID=" + FriendsDt.Rows[i][0]); 
      FriendsInfo.Rows.Add(FriendsDt.Rows[i][0] + "," + FriendsDt.Rows[i][1] + "," + FriendsDt.Rows[i][2] + "," + "O"); 
     } 
    } 

    var rows = FriendsInfo.Rows 
     .OfType<DataRow>() 
     .Select(row => row.ItemArray) 
     .ToArray(); 
    return rows; 
} 
1

감사합니다 JavaScript에서 읽을 수있는 형식을 정의하려면 우선 클라이언트에 보낸 후 해당 형식으로 DataTable을 컴파일하십시오. 이 경우 가장 일반적인 선택은 JSON입니다.

구현 세부 정보는 Convert ASP.NET DataTable to JSON, to use a DataTable in JavaScript을 참조하십시오.

+0

근무 해 주셔서 감사합니다. –

관련 문제