2011-07-04 13 views
1

私はasp.net mvc 2.0を使用しており、どのページでも動的に追加できる再利用可能なWebサイトパーツを作成しようとしています。
私が持っている問題は、すべての関連するjsとデータを部分的に表示する方法です。アイブ氏はそれを行うには、次の方法を試みた:
再利用可能なウィジェットを作成する

  1. 使用部分図を、そこにすべてのJSを置きます。メインビューでは、render partialを使用します。しかし、部分的なビューを初期化するには、モデルを現在のアクションメソッドモデルに追加して、RenderPartial("MyPartialView", Model.PartialViewModel)を作成する必要があります。
    また、私は私のフォーム(ドロップダウンリスト値、いくつかの事前定義された値など)を記入する必要がある追加データを置く場所がありません。

  2. RenderActionを使用しますが、RenderPartialと同じ問題があるようですが、他のモデルに何も追加する必要はありません。

その他のオプションは大変ありがたいです。

答えて

1

私が理解しているように、RenderActionはアクションのパイプライン全体を実行し、結果をレンダリングします。つまり、レンダリングされるのはアクションを参照した場合と同じです。

私はRenderActionを使ってサイト全体に「ウィジェット」をレンダリングしましたが、ビューではレンダリングされたページとは独立している必要があります。そうでなければ実際にウィジェットではなくレンダリングページのコードの一部になるはずです。たとえば、フォームにログがある場合は、現在のページに関係なく、情報を処理できるページにユーザーを連れて行くので、これは優れたウィジェットになります。私がそれを使用した他の方法は、ショッピングバスケットや広告を表示することです。いずれも表示されているページに依存しません。

ほんの少し役に立ちます。

+0

カール、どうすればいいですか?たとえば、次のようなデータを入力するにはどうすればよいですか?ドロップダウンリスト?すべてのマークアップ+ jsはどこに行くべきですか? –

+0

コントローラーにウィジェットのアクションを入力します。マークアップは部分的な表示になり、JSはマスターページに表示されます(あなたがパーツビューに置くことができるカミソリを使用していない限り)。 - 明らかにするには、ウィジェットのアクションとビューが必要で、RenderActionを使用してアクションを呼び出します。 – Carl

関連する問題