我正在尝试在运行时将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的任何其他方法
请帮助。
谢谢!
答案 0 :(得分:0)
您不能简单地将(y)对象传递给JavaScript。它必须是可用的格式。像数组或序列化为XML或JSON。另外&#34; DataTables contain lots of additional information which JSON cannot store&#34;。
有关此主题的更多信息,请查看how to pass c# datatable to a javascript function或What's the best way to jSON serialize a .NET DataTable in WCF?。