2016-07-12 24 views
1

Ich bin mit diesem Web-Service liefert aber Fehler:Warum kann die DataTable nicht serialisiert werden. DataTable-Name ist nicht festgelegt?

Kann die Datatable serialisiert. DataTable-Name ist nicht festgelegt.

[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); 
     } 

    } 

habe ich versucht, eine Menge, aber nicht funktioniert.

+0

, welche Zeile gibt Ihnen die Fehler –

+0

Nun haben Sie versucht, einen Namen in der 'DataTable' Konstruktoraufruf Angabe? (Sie sollten das try/catch/finally Block auch entfernen, da es nichts Gutes bringt.) –

+0

Versuchen Sie, der Datentabelle einen Namen zu geben, indem Sie die tablename-Eigenschaft verwenden. Die Datentabelle kann nicht serialisiert werden, bis oder wenn sie einen Namen hat. –

Antwort

3

Datentabelle kann nicht serialisiert werden, bis oder wenn sie einen Namen hat. Um diesen Fehler zu beheben, müssen wir der Datentabelle einen Namen mithilfe der TableName-Eigenschaft bereitstellen.

versuchen Namen zu geben dann serialisiert:

 dt = GetData() //fill data 
    dt.TableName = "MyDt"