Я полагаю, потому что для доступа к реальному ScriptManager могут быть и другие места, помимо кода файла файла. С помощью статического метода GetCurrent () вы можете получить доступ к ScriptManager текущего контекста из любой точки кода (например, из библиотеки классов). Реализация GetCurrent выглядит следующим образом:
public static ScriptManager GetCurrent(Page page)
{
if (page == null)
{
throw new ArgumentNullException("page");
}
return page.Items[typeof(ScriptManager)] as ScriptManager;
}
Следовательно, это просто ярлык для доступа к экземпляру ScriptManager.
Ваш код не будет работать со страницы содержимого или пользовательского элемента управления, если ScriptManager определен на главной странице.