将数据表在C#中动态加载到JS Array中

时间:2014-05-23 15:10:37

标签: c# javascript web-services datatable

我正在尝试在运行时将dynamically generated Datatable加载到javascript中的JS array。但是无法通过webservice传递它,因为只能通过javascript调用静态方法。如何将数据表返回到javascript中。

aspx.cs文件:

protected void btnRead_Click(object sender, EventArgs e)
{
//on button click it reads file path of excel and stores it in a string path 
}

private DataTable ReadExcelWithStream(string path)

{
//method reads the excel file and stores it in a dt
ForJs(dt);
     return dt;
 }
[ScriptMethod, WebMethod]
 public static DataTable ForJs(DataTable dt)
 {

     return dt;
 }

aspx文件:

 <script type="text/javascript">
        function InsertLabelData() {
           PageMethods.ForJs(onSuccess, onFailure);

        }

             function onSuccess(dt) {

    //attach the table to dhtmlx grid
    }

但是数据表没有传递给javascript。 如何将数据表从c#传递给javascript? 或者将数据表从c#传递给JS的任何其他方法

请帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

  

重复?/相关问题:Dynamically pass datatable from C# to Javascript

您不能简单地将(y)对象传递给JavaScript。它必须是可用的格式。像数组或序列化为XML或JSON。另外&#34; DataTables contain lots of additional information which JSON cannot store&#34;。

有关此主题的更多信息,请查看how to pass c# datatable to a javascript functionWhat's the best way to jSON serialize a .NET DataTable in WCF?