0

ページに ScriptManager が存在する場合でも、すべての .NET AJAX スクリプトのレンダリングを停止する方法を知っている人はいますか?

ScriptManager の Visible プロパティはオーバーライドされて無効になっているため、Visible プロパティを設定しようとすると NotImplementedException が発生します。

私がこれをしたい理由は、これらの大量の javascript が必要でないときにページ全体に配置したくないからです。ScriptManager が 1 つだけ追加されるようにするには、マスター ページに ScriptManager を含める必要がありますが、同じマスター ページの 2 つのバージョン (1 つは ajax が有効で、もう 1 つは無効) が必要になるのはばかげています。

編集:代わりにこれらのクラスを使用するメソッドを誰かが知っている場合に備えて、私は実際に Telerik の RadScriptManager を RadAjax で使用しています。

4

4 に答える 4

2

Bertrand LeRoy の「Using ScriptManager with other frameworks」を参照してください。

http://weblogs.asp.net/bleroy/archive/2008/07/07/using-scriptmanager-with-other-frameworks.aspx

ScriptManager から継承するコントロールが含まれています。このコントロールは、組み込みスクリプトの追加の一部を元に戻し、好きなフレームワークに置き換えることができます。

于 2009-05-11T18:26:30.263 に答える
0

チェックアウトできるオプションは、ScriptManager のCompositeScriptブロックを使用することです。そうすれば、それらすべてを 1 つのブラウザー キャッシュ可能なスクリプト リソース呼び出しにマージできます。このブロックに他の一般的なスクリプトを追加することもできます。

それについてのスクリーンキャストがあり、以前に使用したことがあり、かなりうまく機能しているようです。

于 2009-03-11T06:08:11.543 に答える
-1

私は同様の問題を解決しました。つまり、コード ビハインドでVisibleプロパティを設定できるようにする<asp:PlaceHolder>タグ内にラップすることで、Ajax コントロール ツールキットの HoverMenuExtender をプログラムでインまたは除外します。プレースホルダーが非表示の場合、すべての子コントロールを含め、ページにレンダリングされません。ScriptManager で試したことはありませんが、ここでも機能する可能性があります。

乾杯、 オリバー

于 2009-12-16T12:57:02.667 に答える