Если вы хотите использовать отдельный Javascript-файл, на который ссылаются, вы, вероятно, захотите это использовать файл Ashx. По сути, это всего лишь универсальный обработчик, который вы будете использовать для прямой записи в выходной поток без необходимости иметь дело с жизненным циклом страницы ASP.NET. Если вы добавляете базовый универсальный обработчик (.ashx) на свой сайт из диалогового окна «Добавить новый элемент», шаблон должен иметь достаточное направление, используя context.Response.Write()
для динамического вывода Javascript.
ScriptManager более полезен, если вы хотите выводить отдельные строки Javascript, которые будут запускаться в определенное время, например, после запуска события. Затем вы можете сделать ScriptManager.RegisterClientBlock(this, this.GetType(), "CodeBlock", "alert('Button clicked');", true);
, чтобы показать окно предупреждения клиента после нажатия кнопки, например.
Статические файлы должны обрабатываться именно так - статически. Сервер может обрабатывать кэширование и не вызывает ненужной обработки, если вы ссылаетесь на статический файл сценария непосредственно из тега сценария. Однако, если вам нужно динамически загружать статический скрипт, вы можете, например, создать литерал с тегом внутри. Таким образом, он использует кэшированную версию браузера статического файла.