1

データベース クエリの結果を JavaScript 配列に入力したいと考えています。私が理解していることから、サーバー上の一連のディレクトリにシリアル化された XML または JSON ファイルを設定し、JS 関数がデータベースにアクセスせずに読み取ることができるようにすることをお勧めします。これは本当ですか?データベースはユーザーの操作時にこれらの XML ファイルを書き込む必要がありますか、それとも事前に入力する必要がありますか?

4

2 に答える 2

1

あなたが提供した詳細から:

私は個人的に、JSON.NETまたは同等のものを使用してJSONにシリアル化されたlinqクエリを返すWebサービスエンドポイントを作成します。その後、エンドポイントは、クライアントページ内でajaxを使用して呼び出すことができます。

asmx(レガシー)Webサービスを作成する方法については、 ASP.NETでこの例を確認できます。また、[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 ajaxし 、そこにビジネスロジックを配置しました。jquery を使用して 反復処理 した形式で結果を返します。 そして、そのhtmlフォームを作成しました。generic http handlerjson

json
json

編集 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 に答える