1

フレンドリーな「ScriptManager」クラスで、古き良き「RegisterClientScriptBlock」を呼び出そうとしています。

私の CompositeControl では機能しませんか? それが機能する通常のユーザーコントロール(ascx)で使用します。

Visual Studio で「ScriptManager」と入力しても受け入れられないか、「現在のコンテキストに「ScriptManager」という名前は存在しません」というメッセージが表示され、コンパイルしようとすると表示されます。何が問題なのか - 私は System.Web.UI への参照を持っていて、それ (および using ステートメント) を追加するのに役立つ resharper さえありました - それがそこにしかなかった場合。

わかりましたので、非常に単純なロジックが今ダウンしています。私は何を知る必要があります...

何か案は?

Visual Studio 2008 with SP1 を入手しました。

編集: 動作しない CompositeControl は、実際には単純なクラス ライブラリであり、ascx ファイルが自然に存在する Web アプリケーションの一部ではありません。何らかの方法でページへの参照を設定する必要があるため、これが問題を引き起こす可能性があることはわかっています-ClientScriptManagerを見てみましたが、コンストラクターは内部であり、ScriptManagerから内部的に使用されていることを示していますクラス ライブラリ (Page オブジェクトへのコンパイル時の参照なし)

4

1 に答える 1

1
ClientScriptManager cs = Page.ClientScript;
cs.RegisterClientScriptBlock(GetType(), "GenerateMatrixText", script, true);

ついにそれを見つけた:)

于 2008-11-17T16:15:14.597 に答える