将datatable转换为json并在aspx中绑定控件

时间:2017-06-14 11:18:58

标签: c# jquery asp.net json datatable

我有一个datatable对象,根据某些条件返回1。我想要的是,我想从datatable方面填充控件中的aspx值。为此,我想将这些数据表转换为json。如何转换它并绑定到aspx页面?

这是我尝试过的代码:

protected void GET_VSAT_FORM_DATA(string SapId, string CandidateId)
{ 
    try
    {
        DataTable dtGetData = new DataTable();
        CommonDB CDB = new CommonDB();
        dtGetData = CDB.GET_VSAT_DATA(SapId, CandidateId);
    }
    catch (Exception)
    {   
        throw;
    }
}

更新

<span>CIRCLE :</span>
    <input type="text" id="txtCircle" style="width: auto;" readonly="true" />
    <br />

    <span>CANDIDATE ID :</span>
    <input type="text" id="txtCandidate" style="width: auto;" readonly="true" />
    <br />

    <span>SITE ID :</span>
    <input type="text" id="txtSiteId" style="width: auto;" readonly="true" />
    <br />

    <span>PRIORITY ID :</span>
    <input type="text" id="txtPriority" style="width: auto;" readonly="true" />
    <br />

    <span>SITE NAME :</span>
    <input type="text" id="txtSiteName" style="width: auto;" readonly="true" />
    <br />

    <span>SAP ID :</span>
    <input type="text" id="txtSapId" style="width: auto;" readonly="true" />
    <br />

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法将dataTable转换为JSON,Source

public string DataTableToJSONWithJavaScriptSerializer(DataTable table) 
{  
      JavaScriptSerializer jsSerializer = new JavaScriptSerializer();  
      List < Dictionary < string, object >> parentRow = new List < 
      Dictionary < string, object >> ();  
      Dictionary < string, object > childRow;  
      foreach(DataRow row in table.Rows) 
      {  
         childRow = new Dictionary < string, object > ();  
         foreach(DataColumn col in table.Columns) 
         {  
              childRow.Add(col.ColumnName, row[col]);  
         }  
         parentRow.Add(childRow);  
      }  

     return jsSerializer.Serialize(parentRow);  
} 

这会在你的类的其他地方返回JSON string.place上面的方法,只需调用下面这样的方法

var convertedJSON = DataTableToJSONWithJavaScriptSerializer(dtGetData);