我有一个.aspx页面,我希望我的WebMethod返回一个List,以便我可以从jQuery ajax调用它并获取JSON类型的响应...这是我的代码,但它只是返回一个空白页?Web方法不返回列表?
任何帮助将是巨大的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Services;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
using System.Web.Services.Protocols;
using System.Web.Script.Services;
namespace Test.webservices.mainGrid
{
public partial class staffTreeView : System.Web.UI.Page
{
[WebMethod()]
public static List<Staff> GetStaff()
{
try
{
List<Staff> staff = new List<Staff>();
// HttpCookie _userinfo = HttpContext.Current.Request.Cookies["userinfo"];
string connectionstring = ConfigurationManager.ConnectionStrings["TestProduction"].ConnectionString;
SqlConnection connection = new SqlConnection(connectionstring);
string sql = "sd_STAFFTREEVIEW";
SqlCommand command = new SqlCommand(sql, connection);
command.CommandType = CommandType.StoredProcedure;
SqlDataReader dr = command.ExecuteReader();
while (dr.Read())
{
staff.Add(new Staff()
{
id = dr.GetString(dr.GetOrdinal("id")),
NAME = dr.GetString(dr.GetOrdinal("NAME")),
PARENT = dr.GetString(dr.GetOrdinal("PARENT")),
VALUE = dr.GetString(dr.GetOrdinal("VALUE")),
VALUETYPE = dr.GetString(dr.GetOrdinal("VALUETYPE"))
});
}
dr.Close();
return staff;
}
catch (Exception ex)
{
throw new System.Exception("No Data Returned:" + ex.Message);
}
}
public class Staff
{
public string id { get; set; }
public string NAME { get; set; }
public string PARENT { get; set; }
public string VALUE { get; set; }
public string VALUETYPE { get; set; }
}
}
}
你有没有核实员工人数不是零?你看看浏览器调试器(firebug)中的JSON返回值来验证JSON结果是否为空以确保这不是显示/解析问题? –
在附注中,您应该关闭连接,或将其置于“使用”块中。 – Smeegs