resdernactionでレンダリングされた部分的なビュー内でのようなものを使用する方法はありますか?

StackOverflow https://stackoverflow.com/questions/4742255

質問

私のASP.NET MVC 2 Webアプリケーションで、私は利用します RenderAction Webサイトの「Flashメッセージ」領域と呼ばれるものにHTMLを表示します。フラッシュエリアとは、上部近くのハイライトされた領域を意味します。 Hello <%: Html.DisplayTextFor(m => m.Username) %> ユーザーがログインするとき。

私が取り組んでいる1つのフラッシュメッセージはもう少し複雑です。 JavaScriptコードのブロックを応答に追加する必要がありますが、 script 終了前に要素 </body> 本で推奨されているタグ 高性能JavaScript.

通常のビューでは、私は使用します <asp:Content ContentPlaceHolderID="FlashScriptElements" runat="server"><script> ... </script></asp:Content> 場所へ script ページの下部にある要素。残念ながら、でレンダリングされている部分的なビューで同じことを試みた場合 RenderAction, 、パーサーエラー「コンテンツコントロールは、コンテンツページまたはマスターページを参照するネストされたマスターページのトップレベルコントロールでなければなりません」。

何かがありますか <asp:Content> マスターページの対応するスポットに内容を挿入する部分ビューで使用できることは?

役に立ちましたか?

解決

<asp:Content> Renderactionは、子どものアクション方法を実行し、応答を収集し、親メソッドのビューに貼り付けたコードを持つことと同等であるため、Renderactionでサポートされていません。

あなたができることは、あなたが必要とするスクリプトをどこかに追加することです HttpContextBase.Items コレクション。次に、ドキュメントの最後の直前のマスターページで、登録されたスクリプトを取得して印刷します。

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