asp.net - 如何从 DNN 中的 .ascx Web 用户控件更新 ScriptManager?

标签 asp.net web-services scriptmanager dotnetnuke service-reference

我已经创建了一个需要在 .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 (或者它即将出现空)

知道我做错了什么吗?

我可以从<script runat="server">访问Me.Page吗?就像我一样,或者我应该以不同的方式来做?

最佳答案

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

示例标记:

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

关于asp.net - 如何从 DNN 中的 .ascx Web 用户控件更新 ScriptManager?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1009421/

相关文章:

asp.net - 您如何判断方法是否正在UpdatePanel回发中运行?

asp.net 从 mp3 创建波形图像

c# - 如何在 C# 中使月历上的所有星期日都变成红色?

c# - 如何为单选按钮列表创建数据源?

java - 为什么 wsimport 生成 "incomplete"类?

Python 关闭子进程

javascript - 当前上下文中不存在名称 'ScriptManager'

asp.net - 从 ASP.Net MVC 执行 Web 作业

java - 从 Java 客户端应用程序使用 JSON Web 服务

javascript - System.Web.UI.ScriptManager.RegisterStartupScript 仅执行一次