1

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

4

2 回答 2

1

根据您提供的详细信息:

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

您可以在ASP.NET上查看此示例,了解如何创建 asmx(旧版)Web 服务。您还可以查看使用 [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]);
       });
   });
}
于 2013-03-09T03:46:28.630 回答
1

我使用jQuery ajaxreuringgeneric http handlerjson
创建了处理程序并将我的业务逻辑放在那里。
它以json
我迭代json使用 jquery 的形式返回结果。
并创建了我的 html 表单。

编辑 1

这里有一些有用的链接
http://www.codeproject.com/Articles/203621/Call-HTTPhandler-from-jQuery-Pass-data-and-retriev
http://www.sharepointnutsandbolts.com/2010/11/sp2010- ajax-part-4-returning-json-from.html

编辑 2

您还可以利用 jtemplate
http://www.joe-stevens.com/2010/01/05/using-the-jtemplate-jquery-plugin-with-ajax-and-asp-net/
http://encosia .com/use-jquery-and-aspnet-ajax-to-build-a-client-side-repeater/

于 2013-03-09T04:03:37.423 回答