我的目标是发送一个返回到Default.aspx
中的Ajax调用的类对象。
Default.aspx
将json字符串发送到[WebMethod]:{ID:someid}
。
connectionstring jsonobject定义了jsondata.mdf。
jsondata.mdf包含列:idd, datetime, col1, col2
和col3
,包含许多行数据。
返回行有问题:
return json2.ToArray();
Default.aspx.cs
[System.Web.Services.WebMethod]
public static string GetJSONdata(string ID)
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
string connStr = ConfigurationManager.ConnectionStrings["jsonobject"].ConnectionString;
string cmdStr = "SELECT ([idd],[datetime],[col1],[col2],[col3]) FROM [jsondata] WHERE [idd]=@idd;";
try
{
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlCommand cmd = new SqlCommand(cmdStr, conn))
{
conn.Open();
cmd.Parameters.AddWithValue("@idd", ID);
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
da.Fill(ds);
dt = ds.Tables[0];
}
}
}
}
catch (Exception ex)
{
}
List<dataclass> classdata = new List<dataclass>();
foreach (DataRow dr in dt.Rows)
{
dataclass dc = new dataclass();
dc.idd = Convert.ToString(dr["idd"]);
dc.datetime = Convert.ToString(dr["datetime"]);
dc.col1 = Convert.ToString(dr["col1"]);
dc.col2 = Convert.ToString(dr["col2"]);
dc.col3 = Convert.ToString(dr["col3"]);
classdata.Add(dc);
}
return classdata.ToArray();
}
的Class1.cs
public class dataclass
{
public string idd { get; set; }
public string datetime { get; set; }
public string col1 { get; set; }
public string col2 { get; set; }
public string col3 { get; set; }
}