2

我创建了一个需要在我的 .ascx 页面中使用的 Web 服务。我不能只添加这个:

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

因为那时我在页面上有多个 ScriptManager。所以我做了一些研究,发现我需要将它添加到 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>

然而,它给了我一个错误,说“预期声明”......我拿出了几行,它似乎在说它找不到 Me.Page(或者它即将出现空)

关于我做错了什么的任何见解?

我可以像我一样访问 Me.Page<script runat="server">还是应该以不同的方式访问?

4

1 回答 1

5

在这种情况下,您可以使用 ScriptManagerProxy 类以声明方式添加引用。只要在“父”页面中已经定义了 ScriptManger,就会使用代理类。您使用 ScriptManagerProxy 的方式与使用常规 ScriptManager 的方式相同。可以在此处找到有关代理类的更多信息。

示例标记:

<asp:ScriptManagerProxy runat="server" ID="Manager">
<Scripts>
    <asp:ScriptReference Path="~/JScript.js" />
</Scripts>
</asp:ScriptManagerProxy>
于 2009-06-17T20:47:45.530 回答