WCF を使用して JSON を返しているwebHttpBinding
ので、一部のグリッドで JQuery を使用できます。今日、私はデータベースにクエリを実行し、DataTable
バックを取得し、Linq を使用してList<DTO>
必要なフィールドを入力し、それを使用してシリアル化しSerializeObject
て、クライアントに文字列として返すことができるようにします。以下は、実装のスニペットです。
public string GetJSON(int pSkip, int pTake, int pCount)
{
DataTable dtResult = WUOnSiteMotivoRejeicaoBus.ObterRejeicoes(pSkip, pTake, pCount);
List<WUOsMotivoRejeicaoDTO> lsResult = dtResult.AsEnumerable()
.Select(row => new ClsResultDTO
{
Result1 = Convert.ToInt32(row["cd_result1"]),
Result2 = Convert.ToString(row["dc_result2"]),
})
.ToList();
return JsonConvert.SerializeObject(lsResult, Formatting.None);
}
インターフェイス側の構成は次のとおりです。
[OperationContract]
[WebGet(BodyStyle = WebMessageBodyStyle.Wrapped,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "GetJson?skip={pSkip}&take={pTake}&count={pCount}")]
string GetJSON(int pSkip, int pTake, int pCount);
戻り値は、parseJSON を使用して解析する必要がある JSON 文字列です。
var obj = $.parseJSON(retorno);
これは、JScript クライアント側で使用される JSON 結果を返すための最良/正しい方法ですか? 文字列以外のものを返し、解析を回避する方法はありますか?
編集
クライアント側では、ASP.NET Web フォームではなく MVC3 を使用しています。Tks