中添加一个服务引用程序是否有可能在异步回发过程中一个新的ServiceReference
实例添加到ScriptManager
的Page
,使得随后我可以通过客户端脚本中使用引用的Web服务?异步回发
我试图做这UserControl
一个Repeater
内坐镇内线,这就是为什么在Page_Load
编程方式添加的ScriptReference不在这里工作了。
编辑2:这是我从我的UserControl
调用不去做什么,我希望(异步回发过程中添加服务引用到的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"));
}
我的目标是为我我的用户控件尽可能不影响周围的应用程序;否则我将不得不静静地定义ServiceReference
在包含Page
的ScriptManagerProxy
,这不是我想要的。
编辑:
我一定是累了的时候,我写这篇文章......因为我的意思是写ServiceReference
没有ScriptReference
。相应地更新了上面的文字。
现在我有:
<asp:ScriptManagerProxy runat="server" ID="scmProxy">
<Services>
<asp:ServiceReference Path="~/UsefulnessWebService.asmx" />
</Services>
</asp:ScriptManagerProxy>
,但我要注册在代码隐藏web服务。
结帐我更新的答案! – Krunal