2011-12-07 38 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