Asp.netチームは、ページごとに1つのインスタンス(HttpHandler)しか存在しないようなスクリプトマネージャを設計しました。なぜなら、ScriptManager.GetCurrent
のようなメソッドを拡張した理由がわかりません。ページ。なぜ開発者は、実際のScriptManagerにアクセスするページの分離コードファイル以外の場所があるかもしれないので、私は信じてScriptManager.GetCurrentメソッドの背後にある理由
if(ScriptManager == null)
{
throw new Exception("The Below ajax control requires ScriptManager in the page");
}
ScriptManagerはScriptManagerコントロールのIDなのでしょうか? ScriptManagerがMasterPage上にある場合、ユーザーコントロールからのIDへのアクセス権はありません。 – slfan
@slfan申し訳ありませんが、私はここにシナリオを置いていませんでした。任意のASPファイル(usercontrol、masterpage、子ページ、ネストされたmasterpage)になります。 Asp.netのチームは、ページ内のScriptManagerインスタンスを認識する方法を考案しましたが、ページ内のリクエスト/レスポンスに 'Current' ScriptManagerクラスを設定しませんでした(これはIDを持つ可能性がありますsManager、resourceManagerなど)のようなものです。メンバシップが有効になっているときに 'User.Identity.Name'を使ってログインした人のユーザ名を取得できます。私はこれが純粋に従来のもので、将来のための意思決定であると感じています:) – Deeptechtons