asp.net - 将 LINQ to SQL 查询的结果转换为 XML/JSON

标签 asp.net database linq-to-sql webforms

我希望用数据库查询的结果填充一个 JavaScript 数组。据我所知,一个好的方法是用序列化的 XML 或 JSON 文件填充我服务器上的一堆目录,然后我的 JS 函数可以读取这些文件而无需访问数据库。这是真的?数据库应该在用户交互时写入这些 XML 文件,还是应该预先填充它们?

最佳答案

根据您提供的详细信息:

我个人会创建一个 Web 服务端点,返回使用 JSON.NET 或等效项序列化为 JSON 的 linq 查询。然后可以在您的客户端页面中使用 ajax 调用端点。

您可以在 ASP.NET 上查看此示例了解如何创建 asmx(旧版)Web 服务。你也可以看看this使用 [WebMethod] 属性的示例。

代码隐藏文件中的 Web 方法。

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
public string GetMyQueryResultsAsJson()
{
    var results = GetQueryResults();
    var jss = new JavaScriptSerializer();
    string json = jss.Serialize(results);
    return json;
}

客户端页面上的 ajax 调用:

function loadData() {
   var myArray = []; 
   $.getJSON("<%= ResolveUrl("~/MyPage.aspx/GetMyQueryResultsAsJson") %>", function (data) {
       $.each(data, function(obj) {
           myArray.push([obj.id, obj.someValue, obj.AnotherValue]);
       });
   });
}

关于asp.net - 将 LINQ to SQL 查询的结果转换为 XML/JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15306883/

相关文章:

asp.net - 中继器到 xls 将我的中继器按钮也导出到 xls 中

c# - 如何将 Linq2SQL 集合数据绑定(bind)到 winform 文本字段

asp.net - ClientID模式如何工作?

javascript - ASP.NET DataGrid ClientID 值返回 null

sql - Django sql排序依据

php - 使用 codeigniter 在 mysql 行中输入多个值,并用逗号输出一一分隔

c# - LINQ to SQL 连接字符串

Linq:有条件地向 where 子句添加条件

javascript - 在弹出的 asp.net 中显示数据列表的结果

sql - 在数据库之间合并数据