1

我使用 Jquery.Ajax 来访问本文中所写的页面方法:

http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/

但我想知道是否有一种方法可以直接访问类文件(.cs)而无需通过后面的代码

谢谢

4

1 回答 1

5

不,没有办法。AJAX 在客户端上运行并且与服务器端无关。这意味着 AJAX 不知道.cs文件的含义。AJAX 将 HTTP 请求发送到服务器端处理程序。如果您在服务器上使用 ASP.NET,则此处理程序可以是通用处理程序 ( IHttpHandler) 或 WebForm。

因此,公开此 .cs 文件中包含的功能的最简单方法是编写自定义通用处理程序,然后向该处理程序发送 AJAX 请求。

例如:

public class MyHandler : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        var response = context.Response;
        response.ContentType = "application/json";
        response.Write(new JavaScriptSerializer().Serialize(new
        {
            result = SomeClass.GetResult()
        }));
    }

    public bool IsReusable
    {
        get { return true; }
    }
}

现在您可以将 AJAX 请求发送到/myhandler.ashx.

于 2012-11-11T18:40:32.613 回答