0

IScriptControlを使用してjavascriptオブジェクトをUserControlsとServerControlsに関連付けてきましたが、正常に機能しています。

問題は、ASP.NETがjavascriptオブジェクトをページに結び付けるメソッドを提供していないように見えることです。これまで、グローバル名前空間にプレーンな関数を配置してきましたが、私はその慣行に対して深刻なアレルギーを発症しています。

関数をjavascriptクラスにラップし、ページにjavascriptファイルを含めるのは簡単ですが、オブジェクトをインスタンス化する方法、コールバックイベントからオブジェクトを参照する方法、コードからオブジェクトにデータを渡す方法-背後で、私は理解していません。

むしろ、これまで使用してきたメソッド(非表示のフィールド、出力されたjavascript文字列など)は、本当に私を悩ませます。

誰かもっと良いアイデアがありますか?

4

1 に答える 1

0

ビルドしない限り、JS ファイルとページの間に関連付けはありません。スクリプト コントロールでは、状態を格納する一般的な方法は隠しフィールドです (ACT はこの方法を使用します)。サーバーと通信する他の唯一の方法は、Web サービス呼び出し、フォーム ポスト データ、または __doPostBack の呼び出しによるものです (ただし、これは AJAX ではありません)。

2 つをリンクする基本アーキテクチャを作成できます。スクリプト コントロールを使用すると、サーバーは $create ステートメントをレンダリングして、プロパティとイベント ハンドラーをサーバーからクライアントに渡します。サーバーに戻されるデータは非表示の変数に格納され、クライアントで処理されます (ほとんどのスクリプト ライブラリを使用)。そのため、スクリプト コントロールと ACT はこの多くを非表示にします。これを自動化します。これをカスタマイズしたい場合に何をすべきかのアイデアを得るために、クライアントとサーバーの相互作用を調べることが役立つ場合があります。

面白いことに、コードプレックスの Nucleo プロジェクト (私のサード パーティ製ライブラリ) についても同じことを考えていましたが、まだそれに取り掛かっていません。

于 2010-04-02T12:02:21.677 に答える