2011-12-07 69 views
0

我是ASP.NET新手(我是一名PHP開發人員),我正試圖瞭解如何在ASP.NET中使用AJAX。帶有和不帶Telerik的ASP.NET Ajax

在PHP中很簡單:創建一個PHP頁面的異步請求,並將響應放在div中。

但在ASP.NET中應該怎麼做?創建一個aspx頁面的異步請求,並將邏輯放入Load事件中?使用ASP.NET Handler/ASP.NET模塊?

Telerik Ajax怎麼樣?我已經看到,在RadAjaxManager中,您指定了發出請求的控制器,將通過響應進行修改的控制器,但我沒有看到放置邏輯的位置,如何返回響應...

telerik演示很複雜,我什麼都不懂。 我根本無法理解telerik ajax是如何工作的,因爲我沒有看到在javascript中編程ajax時看到的東西...

謝謝!

回答

2

我如何在ASP.NET中使用Ajax就像PHP一樣,唯一的就是我稱之爲webmethod。通過這種方式,Ajax調用不需要通過所有的init,load,prerender等遍歷整個過程。調用正常的ASP.NET頁面的速度會更快。

我對Telerik的經驗是,如果您想要簡單的Ajax調用,它對您的性能來說確實很慢並且很糟糕。

下面我舉一個簡單的例子,你如何能做到這一點:

對於C#

public partial class _Default : Page 
{ 
    [WebMethod] 
    public static string GetDate() 
    { 
    return DateTime.Now.ToString(); 
    } 
} 

對於VB:

Imports System.Web.Services 

Partial Class Default 
    Inherits System.Web.UI.Page 

    <Script.Services.ScriptMethod()> _ 
    <WebMethod()> _ 
    Public Shared Function getDate() As String 
     return DateTime.Now.ToString() 
    End Function 

End Class 

你的JavaScript:

$.ajax({ 
    url : "Default.aspx/getDate", 
    data : null, // Needs to be a String!, see URL below 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success : function(data){ 
     var result = data.d; // ASP.NET gives a .d object to the client 
     // result = your date, but if you return a SortedList, you can use result.date, or result.html or whatever. 
    } 
}); 

對於更多信息:

  1. 阿賈克斯(WEBMETHOD):http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/
  2. JSON字符串化:https://github.com/douglascrockford/JSON-js
+0

如果我將提出一個JSON字符串數據字段,在阿賈克斯,我怎麼會retrive在C#中的JSON?非常感謝! – VladN