aspx web方法返回空白页?

时间:2013-10-31 15:54:31

标签: c# asp.net web-services

我在aspx页面中有一个WebMethod,它似乎只返回一个空白页面,我不认为它甚至被调用,可能是什么原因导致它?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using System.Text;
using System.Web.Script.Serialization;
using System.Web.Services;
using System.Web.Script.Services;

namespace Test.webservices.mainGrid
{
    public partial class getMainGrid : System.Web.UI.Page
    {

        [WebMethod]
        [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Xml)]
        public static string GetRecords()
        {
      return "test";

        }
    }
    }

1 个答案:

答案 0 :(得分:2)

这是一个ASP.NET AJAX页面方法,它可以通过JavaScript调用(例如ASP.NET AJAX或jQuery)。文本test无法呈现,因为页面生命周期不知道如何处理此静态方法;由于您的页面或逻辑没有标记要呈现到页面,因此您的页面在运行时是空白的。

由于该方法是静态的,因此它不是实际页面实例的一部分,因此不能通过页面类本身内的代码调用。为此,当您从脚本中调用此方法时,您将无法访问页面上的其他控件。 ASP.NET AJAX页面方法对于从服务器获取数据以使用客户端非常有用。

要了解有关ASP.NET AJAX页面方法的更多信息,请阅读Using jQuery to directly call ASP.NET AJAX page methods

在过去的几年里,我在ASP.NET WebForms项目中广泛使用了ASP.NET AJAX页面方法。它们非常适合从服务器获取数据以更新用户界面。