Я пытаюсь расширить ScriptManager
, чтобы упростить работу с ресурсами, которые имеют несколько файлов ресурсов (например, более одного файла сценария, а также CSS). Цель состоит в том, чтобы я мог добавить один ScriptReference
к Scripts
и заставить его загружать более одного ресурса, связанного с этим ссылочным именем.
Что я застреваю, как ваш базовый ScriptManager
знает, что делать с вещами, когда используются статические методы, которые не включают параметр Page
? Например:
ScriptManager.ScriptResourceMapping.AddDefinition("someName", new
ScriptResourceDefinition { Path="/script/somescript.js"});
Это добавляет определение (я думаю) к тому, что активный менеджер скриптов для страницы, которая работает, когда вы вызываете его. Но в отличие от методов старой школы, таких как RegisterClientScriptBlock
, не передается параметр, идентифицирующий страницу. Но эти вещи должны храниться в объекте ScriptManager
, нет? Так как это узнать?
Я всегда мог получить ссылку на активный с этим:
ScriptManager.GetCurrent(page);
но в идеале я бы создал новые методы, которые работают точно так же, как Microsoft. Я не могу понять, как я мог бы реализовать что-то вроде
ScriptManager.ScriptResourceMapping.AddDefinition(string name,
ScriptResourceDefinition definition,
ResourceType type)
, который может определить экземпляр объекта для добавления материала без необходимости добавления параметра Page. Как-то они это делают ... как я могу?