2

我已经创建了一个Web服务,我需要在我的.ascx页面中使用它。我不能只是添加此:如何从DNN中的.ascx Web用户控件更新ScriptManager?

<asp:ScriptManager ID="OWUScripts" runat="server"> 
    <Services> 
     <asp:ServiceReference Path="~/OWUDashboard.asmx" /> 
    </Services> 
</asp:ScriptManager> 

因为然后我在页面上有多个ScriptManagers。所以我做了一些研究,发现我需要把它添加到Page_Load事件......

Dim myScriptManager As ScriptManager = ScriptManager.GetCurrent(Me.Page) 

Dim objServiceReference As ServiceReference = New ServiceReference() 
objServiceReference.Path = "~/MyService.asmx" 
myScriptManager .Services.Add(objServiceReference) 

但因为有一个已经预先设定的(它是一个我无法访问Page_Load事件皮肤和所有)所以我把代码之间的代码<script runat="server"></script>

但它给了我一个错误,说“声明期望”...我拿出了几行,似乎是说它找不到我。页(或者它是空的)

任何有识之士,我做错了什么?

我可以像<script runat="server">那样访问Me.Page吗?或者我应该以不同的方式做到这一点?

+0

从你的问题,你注意,你都在皮肤使用此,或模块。这是哪个? – 2009-06-17 20:43:56

回答

4

毛皮这种情况下有一个ScriptManagerProxy类,您可以用它来声明性地添加引用。只要已经在“父”页面中定义了ScriptManger,就会使用代理类。您以与常规ScriptManager相同的方式使用ScriptManagerProxy。关于代理类的更多信息,可以发现here.

示例标记:

<asp:ScriptManagerProxy runat="server" ID="Manager"> 
<Scripts> 
    <asp:ScriptReference Path="~/JScript.js" /> 
</Scripts> 
</asp:ScriptManagerProxy> 
相关问题