Я написал элемент управления на C#, который переопределяет встроенный элемент управления DropDownList. Для этого мне нужен включенный ресурс javascript, который я включаю как встроенный ресурс, а затем добавляю атрибут WebResource, который отлично работает.
Однако мне также нужно сослаться на веб-сервис, который я обычно включаю в диспетчер сценариев на такой странице.
<asp:scriptmanager id = "scriptmanager" runat = "server">
<Services>
<asp:ServiceReference Path = "~/Path/To/Service.asmx" />
</Services>
</asp:scriptmanager>
Есть ли способ заставить страницу включать эту ссылку в код созданного мной элемента управления, аналогично тому, как он включает встроенный файл javascript?





Если вы знаете страницу, на которой находится пользовательский элемент управления, вы можете сделать ((PageName) this.Page) .scriptmanager.Services.Add () из пользовательского элемента управления
Вы можете просто добавить javascript для самостоятельного вызова веб-сервиса:
Sys.Net.WebServiceProxy.invoke (url, methodName, useHttpGet, parameters, successededCallback, failedCallback, userContext, timeOut);
Документы предназначены для asp.net Ajax 1.0, но это тот же .NET 3.5.
Вы можете добавить ScriptManagerProxy в код или разметку вашего элемента управления и добавить через него ссылку на службу. Настройки в ScriptManagerProxy объединяются с «настоящим» ScriptManager во время компиляции.