我在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";
}
}
}
答案 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页面方法。它们非常适合从服务器获取数据以更新用户界面。