我正在尝试使用远程数据源实现W2UI 网格,我最初使用返回结果的 aspx 页面使其工作。
我已经转移到 API,因此可以提取和更新数据
我遇到的问题或问题是经常需要破解和削减我返回的数据:“ {\"status\":\"success\",\"total\":\"X\",\"records\":
”....
而不是仅仅返回 IEnumerable 这会导致其他组件出现问题,因为我现在需要复制逻辑等
我希望我遗漏了一些东西,而不是 W2UI 中的缺陷,总是首先需要状态/总结果。
它似乎确实需要完全和状态才能发挥作用。使用 C# 我创建了一个或多或少自动处理此问题的类:
// a few using statements that are needed
using NewtonSoft.Json;
using System.Data;
using System.Data.SqlClient;
// the class we will need to Serialize
public class w2return
{
public string status = "success";
public int total = 0;
public DataTable records;
}
现在在您的 Web 服务功能中,执行以下操作:
w2return x = new w2return();
// write some code to return a DataTable
x.records = SomeCodeThatReturnsDataTable();
x.total = x.records.Rows.count();
return JsonConvert.SerializeObject(x); // this assumes your function returns a string
因为序列化过程将整个内容包装在一个名为“d”的成员变量中,所以您需要使用 w2ui 的“parse”回调在客户端将其解析回(假设您使用的是 jQuery):
parser: function (responseText) { return $.parseJSON($.parseJSON(responseText).d); }
希望这可以帮助某人。