0

ASP.NET MVC 3 サイトのコントロール パネル Web ページで、ユーザーは自分の既存のプロジェクト (デザイナー ポートフォリオのサイト) を表示し、ボタンを押して新しいプロジェクトをライブラリに追加できます。

この特定の「機能を追加するプロジェクト」のマークアップと JavaScript の依存関係は、部分ビューの剃刀コードで参照されます。

ユーザーがページ上のボタンをクリックするたびに、部分ビューのコンテンツを取得してページの下部に配置.dialogし、生成された div で jQuery UI を呼び出して、プロジェクトの編集/追加ポップアップを表示します。

しかし、この部分的なビュー コンテンツ内の要素を参照している検証やその他のロジック (クリック ハンドラーなど) を初期化するロジックを呼び出すにはどうすればよいでしょうか? (このため、ドキュメントの準備ができたときにすべてを初期化することはできません)

リンクされた js (initProjectEditing() など) でいくつかの関数をハードコーディングし、ポップアップを初期化するコードから呼び出すだけですか、それとももっとエレガントな方法がありますか?

4

1 に答える 1

0

私見、良い方法はJquery widgetを使用することです。これにより、コンポーネントのロジックを 1 か所で定義し、必要なときにいつでも再利用できます。

  • 「新しいプロジェクトを追加」Jquery ウィジェットを作成できます。

  • このウィジェットで「新規プロジェクトの追加」に関するすべての機能を定義します (検証、イベント ハンドラーなど)。

  • 「新しいプロジェクトの追加」に必要なすべての JavaScript を、現在のように部分ビューではなく、メイン ビューから直接参照します。別の場所で再利用する必要がある場合は、そのような参照を使用して特別な部分ビューを作成できます。

  • 「新しいプロジェクトの追加」部​​分ビューが読み込まれ、ダイアログが表示されたら、読み込まれた html で「新しいプロジェクトの追加」ウィジェットを初期化します。

于 2012-06-13T15:42:34.293 に答える