是否可以在异步回发期间向 on添加一个新ServiceReference
实例,以便随后我可以通过客户端脚本使用引用的 Web 服务?ScriptManager
Page
我正在尝试在 aUserControl
中执行此操作Repeater
,这就是为什么在此期间以编程方式添加 ScriptReferencePage_Load
不起作用的原因。
编辑 2:这是我从我那里调用的代码UserControl
,它没有达到我的预期(在异步回发期间将 ServiceReference 添加到 ScriptManager):
private void RegisterWebservice(Type webserviceType)
{
var scm = ScriptManager.GetCurrent(Page);
if (scm == null)
throw new InvalidOperationException("ScriptManager needed on the Page!");
scm.Services.Add(new ServiceReference("~/" + webserviceType.Name + ".asmx"));
}
我的目标是让我的 UserControl 对周围的应用程序尽可能不显眼;否则我将不得不在 contains 上静态定义ServiceReference
in a ,这不是我想要的ScriptManagerProxy
。Page
编辑:
我写这篇文章的时候一定很累……因为我本来ServiceReference
不想写的ScriptReference
。相应地更新了上面的文字。
我现在有:
<asp:ScriptManagerProxy runat="server" ID="scmProxy">
<Services>
<asp:ServiceReference Path="~/UsefulnessWebService.asmx" />
</Services>
</asp:ScriptManagerProxy>
但我想在 CodeBehind 中注册 web 服务。