質問

HTMLおよびjavascript(ExtJS経由)で記述されたグリッドのプロトタイプ/モックアップが提供されました。これは、ASP.net Webアプリケーション内に実装する必要があります。グリッドにデータを(具体的にはGroupingStoreに)渡す方法についてのポインタはありますか?

WebサービスやXML / JSONを返すヘルパーページが急増しないように、クライアントコールバックまたはページメソッドを使用する方法があれば(どちらにも詳しくないことを教えてください-buzzword bingo !)またはそのようなものが好まれます。

jQuery、組み込みのASP.netグリッド、またはその他のUIフレームワークを使用することは推奨しません。 ExtJSグリッドの使用はその力によって義務付けられているため、私が使用しているグリッドは良くも悪くもそうです:)

役に立ちましたか?

解決

これはローテクのソリューションです。 Webサービスやその他の追加テクノロジーを使用する必要はありません。

ステップ1

パラメータを1つ取るASPXページを用意し、次のように呼び出します:

http://mysite.com/query.aspx?sql=select * from orders where status = 'open'

ステップ2

コードビハインドで、次のような操作を行います

void Page_Load(object sender, EventArgs e)
{
   Response.ContentType="text/json"; 
   DataTable contents = ExecuteDataTable(Request["sql"]);
   Response.Write( JRockSerialize( contents ) );
   Response.End();
}

JRock を使用して、データテーブルをJSONにシリアル化できます。 私見これは最もクリーンなJSONを提供します。

つまり、 DataTable をJSONに並べ替えています...

警告:これは明らかに単純な例です。クエリ文字列は安全ではないため、SQLを渡さないでください(代わりに名前付きクエリとパラメータを使用できます)。

ステップ3

ExtJSコードで、この Extの例。データストアの url:を、適切なクエリ文字列パラメーターを使用してquery.aspxページのデータストアに設定します。

グリッドの列も設定する必要があります。これもExtJsの例に示されています。

代わりに...

最近 Cooliteサンプルを見て、本当に感銘を受けました。彼らはExtJSパートナーであり、優れたASP.NET&を提供します。 ExtJSの経験。いいえ、私は彼らのために働いていません:)彼らのグリッドを試したことはありませんが、痛みはないかもしれません(代金で)。

他のヒント

ページのjson構造を単に返すサービスは、ページメソッドではなく、アプリケーション全体で適切に抽象化され、再利用可能な最良のオプションであると思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top