2011-11-18 211 views
0

我必須做的功能 - 一個客戶端功能和另一個服務器端功能。 這是服務器端的功能:AJAX - 不知道如何追加功能

[WebMethod] 
public IList<OrderViewDTO> GetTaskProgress(DateTime xDATEx) 
{ 
    try 
    { 
     var xDate2 = xDATEx.AddDays(1); 
     var q = new OrderDataRepository() 
      .GetAllOrderData() 
      .Where(x=>x.POD_DATE>=xDATEx && x.POD_DATE < xDate2) 
      .GroupBy(o => o.User) 
      .Select(g => new OrderViewDTO 
      { 
       DriverId = g.Key.Id, 
       PdriverName = g.Key.Name, 
       OrderCount = g.Count(), 
       OrderCountWhereNameIsNotNull = g.Count(o => o.RECEIVE_NAME != null) 
      }) 
      .ToList(); 
     return q; 

    } 
    catch (Exception e) 
    { 
     throw WrapException(e); 
    } 
} 

,這是客戶端的功能 我有什麼變化,使這樣的客戶端功能將調用服務器端功能 ?

    _Services.invoke({ 
        method: 'GetTaskProgress', 
        data: { xDATEx: date1 }, 
        success: function (q) { 
          paint(q); 
        } 

function paint(orders) { 
      var table= 
         '<table>'; 
      $.each(orders, function() { 
         table += 
            '<tr>'+ 
               '<td>'+this.DriverId +'</td>'+ 
               '<td>'+this.PdriverName +'</td>'+ 
               '<td>'+this.OrderCount +'</td>'+ 
               '<td>'+this.OrderCountWhereNameIsNotNull +'</td>'+ 
            '</tr>'; 
      }); 
      table+= 
         '</table>'; 
      table=$(table); 
      div.append(table); 
} 
+0

嘿,停止尖叫=)只有使用大寫使文本相當難以閱讀。 – Cyclonecode

回答

1

不是。 你正在混合服務器端C#與客戶端JavaScript。

您的web方法需要返回Json格式的數據,然後您的客戶端JavaScript可以使用該數據。

查看http://msdn.microsoft.com/en-us/library/bb515101.aspx舉例。

+0

好的我已將代碼更改爲2個功能 - 我現在如何在它們之間進行連接?我的意思是客戶端函數如何調用服務器端以及如何獲取值?請檢查我上面的代碼 – user1021182