Вчера потратил н -ое кол-во времени чтоб разобраться(к слову в мсдн очень криво этот вопрос описан) а в инете инфа была только на одном форуме, да и то лишь кроха... Допустим пишем мы контрол какой то и у нас возникло желание воспользоваться джаваскриптом - мы конечно можем прямо хардкодом написать что то такое(из мсдн):
if (!cs.IsClientScriptBlockRegistered(cstype, csname2)) { StringBuilder cstext2 = new StringBuilder(); cstext2.Append(<script type=text/javascript> function DoClick() {); cstext2.Append(Form1.Message.value=Text from client script.} </); cstext2.Append(script>); cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), false); }
но имхо это только мусор в коде.... можно сделать гораздо красивее: 1. Добавляем джаваскрипт файл в ресурсы сборки 2. В свойствах добавленного джаваскрипт файла устанавливаем Build Action:Embedded Resource 3. В AssemblyInfo.cs добавляем такой атрибут [assembly: WebResource("Controls.Resources.Script_include.js", "application/x-javascript")] - поясняю: Controls - имя сборки, Resources - папка в которой лежит мой файл, Script_include.js - сам файл. 4. в контроле добавляем такой код:
Все теперь в на вашей странице вы можете вызывать любые функции из файла Script_include.js Надеюсь данная заметка поможет вам разобраться с этим простым но мало документированным вопросом.