Si alguna vez te sale un problema con referencia circular al pasar un datatable a un json, primero lo que hay que hacer es pasar un datatable a una lista de objetos... Y esa lista es la que sí tienes que serializar.
Aquí está el código para pasar el datatable a la lista y posteriormente el código para pasar a json:
public List<Dictionary<string, object>> ValuesSelectInsuranceAndValidationDoc = new List<Dictionary<string,object>>();
DataTable auxTable = _presenter.View.StateOrder; //Esta es la tabla
List<Dictionary<string, object>> rowsStateOrder = new List<Dictionary<string, object>>();
Dictionary<string, object> row;
if (auxTable != null)
{
foreach (DataRow dr in auxTable.Rows)
{
row = new Dictionary<string, object>();
foreach (DataColumn col in auxTable.Columns)
{
row.Add(col.ColumnName, dr[col]);
}
rowsStateOrder.Add(row);
}
ValuesSelectInsuranceAndValidationDoc = rowsStateOrder;
}
string json = "";
json = new System.Web.Script.Serialization.JavaScriptSerializer().
Serialize(ValuesSelectInsuranceAndValidationDoc );
Espero les sirva...
Sean felices! :) Y siéntanse libres de opinar ;)
No hay comentarios:
Publicar un comentario