データベース クエリの結果を JavaScript 配列に入力したいと考えています。私が理解していることから、サーバー上の一連のディレクトリにシリアル化された XML または JSON ファイルを設定し、JS 関数がデータベースにアクセスせずに読み取ることができるようにすることをお勧めします。これは本当ですか?データベースはユーザーの操作時にこれらの XML ファイルを書き込む必要がありますか、それとも事前に入力する必要がありますか?
2 に答える
あなたが提供した詳細から:
私は個人的に、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]);
});
});
}
私はハンドラを作成jQuery ajax
し
、そこにビジネスロジックを配置しました。jquery を使用して
反復処理
した形式で結果を返します。
そして、そのhtmlフォームを作成しました。generic http handler
json
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/