これは設計上の問題です。皆さんがこれで私を助けてくれることを願っています。
オートコンプリート コントロールを開発しています。これは基本的にサービス ベースのコントロールであり、サービス コールの役割は、ユーザーがいくつかの単語を入力したときに候補リスト (ドロップダウン メニュー) の HTML を取得することです。
サーバー側のコードは C# で、クライアント側は JQuery/Javascript です。
コントロールは、次の 2 つのモードを使用するように開発されました。
ASP.NET コントロール (生成された応答で jQuery ウィジェットを初期化します)。
サーバー側の HTML 生成エンジンを使用するスタンドアロンの jQuery ウィジェット。
サジェスチョンメニュー(ドロップダウンメニュー)のHTML生成エンジンをサーバーに置いています。コントロール ユーザーは、データソースをサーバーにキャッシュすることを選択できます。キャッシングが有効になっていない場合、データソースは、HTML 生成のために各サービス要求でサーバーに送信されます。
私の質問は - クライアント側 (JQuery/Javascript) にも HTML 生成エンジンを作成する必要がありますか?
これまでのところ、「別のクライアント側 HTML エンジンを作成する」ことの長所と短所を次のように発見しました。
長所:
サーバーへのリクエストが回避されるため、提案リストのサイズが小さい場合から平均的な場合の HTML 生成が高速化されます。
サーバー側の依存関係はありません。サーバー側のコードは必要ないため、jQuery ウィジェット モードは完全にスタンドアロンになります。
短所:
コードの重複: C# と jQuery/javascript の両方で同じ生成エンジン。
メンテナンスの増加 : 新しい機能が追加されると、両側で変更を行う必要があります。