我正在使用此网络服务但返回错误:
无法序列化DataTable。未设置DataTable名称。
[WebMethod]
public DataTable ApprovalCertificate(int ID)
{
try
{
DatabaseConnection DatabaseConnection = new DatabaseConnection(Constants.Databases.BPAConnection);
SqlCommand SqlCom = new SqlCommand("ReportApprovalCertificate", DatabaseConnection.OpenConnection());
SqlCom.CommandType = CommandType.StoredProcedure;
SqlCom.Parameters.AddWithValue("@PropertyDetailsID", ID);
DataTable dt = new DataTable();
SqlDataAdapter sqlDA = new SqlDataAdapter(SqlCom);
sqlDA.Fill(dt);
DatabaseConnection.CloseConnection();
return dt;
}
catch (Exception ex)
{
throw ex;
}
finally
{
//ResultPanel.Controls.Add(ResultLabel);
}
}
我尝试了很多,但没有工作。
答案 0 :(得分:3)
数据表除非有名称,否则无法序列化。要解决此错误,我们需要使用TableName属性为数据表提供名称。
尝试给它命名然后序列化:
dt = GetData() //fill data
dt.TableName = "MyDt"