如何更改 ScriptManager 中注册脚本的顺序

2024-01-11

背景

在我们的母版页中,我们有一个ScriptManager看起来像这样

<asp:ScriptManager ID="ScriptManager" runat="server" EnablePartialRendering="False" EnableScriptLocalization="true">
    <Scripts>
        <asp:ScriptReference Path="~/js/master.js" />
        <asp:ScriptReference Path="~/js/jquery-min.js" />
    </Scripts>
</asp:ScriptManager>

我通过执行以下操作在页面上的嵌套控件中注册其他脚本

protected override void OnPreRender(EventArgs e)
{
    ScriptManager.RegisterClientScriptInclude(this, this.GetType(), "jquery-ui", "~/js/jquery-ui.js");
    base.OnPreRender(e);
}

Expected

  1. master.js
  2. jquery-min.js
  3. jquery-ui.js *

Actual

  1. jquery-ui.js *
  2. master.js
  3. jquery-min.js

Question

有什么方法可以更改注册脚本的加载顺序吗?

- or -

是否至少可以确保在实际中注册的脚本ScriptManager块是在代码隐藏注册脚本之前注册的吗?


深入研究后ScriptManager源代码我们可以做出两个有用的观察:

  • 添加到管理器的脚本按照它们在集合中出现的顺序一一注册在页面上ScriptManager.Scripts(如果你好奇 - 通过方法ClientScript.RegisterClientScriptBlock,不在Render方法或类似的东西)。

  • 标记中声明的脚本将添加到集合中ScriptManager.Scripts upon ScriptManager对象创建。

因此有一种方法可以

确保在实际 ScriptManager 块中注册的脚本先于代码隐藏注册的脚本注册

是将控件中的脚本直接添加到ScriptManager.Scripts集合而不是使用静态实用方法ScriptManager班级。控件的代码示例如下:

protected override void OnPreRender(EventArgs e)
{
    ScriptManager currentScriptManager = ScriptManager.GetCurrent(this.Page);
    if (currentScriptManager != null)
    {
        ScriptReference scriptRef = new ScriptReference("~/js/jquery-ui.js");
        currentScriptManager.Scripts.Add(scriptRef);
    }
    else
    {
        this.Page.ClientScript.RegisterClientScriptInclude(
            this.GetType(), "jquery-ui", "js/jquery-ui.js");
    }

    base.OnPreRender(e);
}

一个小注释 - 正如代码示例中所示,我建议在没有时处理情况ScriptManager在页面上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改 ScriptManager 中注册脚本的顺序 的相关文章

  • 打印“X”个字符数与“X”字符串长度的所有可能组合(暴力破解)

    我正在尝试编写一个单词组合生成器 我的意思是打印 X 个字符数与 X 字符串长度的所有可能组合 首先 我需要说的是 我在 StackOverFlow 中看到了一个关于这个问题的问题 其中有很多单词生成器的答案来执行此操作 在不同的语言上 但
  • 传递 constexpr 对象

    我决定给予新的C 14的定义constexpr旋转并充分利用它 我决定编写一个小的编译时字符串解析器 然而 我正在努力保持我的对象constexpr将其传递给函数时 考虑以下代码 include
  • extern 声明和函数定义都在同一文件中

    我只是浏览了一下gcc源文件 在gcc c 我发现了类似的东西 extern int main int char int main int argc char argv 现在我的疑问是extern是告诉编译器特定的函数不在这个文件中 但可以
  • 强制初始化模板类的静态数据成员

    关于模板类的静态数据成员未初始化存在一些问题 不幸的是 这些都没有能够帮助我解决我的具体问题的答案 我有一个模板类 它有一个静态数据成员 必须为特定类型显式实例化 即必须专门化 如果不是这种情况 使用不同的模板函数应该会导致链接器错误 这是
  • 如何在 C# Designer.cs 代码中使用常量字符串?

    如何在 designer cs 文件中引用常量字符串 一个直接的答案是在我的 cs 文件中创建一个私有字符串变量 然后编辑 Designer cs 文件以使用此变量 而不是对字符串进行硬编码 但设计者不喜欢这样抛出错误 我明白为什么这行不通
  • SecurityAction.RequestMinimum 在 .Net 4.0 中已过时

    最近 我们的 Net 客户端库正在升级以针对 Net 4 0 进行编译 将目标框架更改为4 0后 应用程序出现一些编译错误 In AssemblyInfo cs assembly SecurityPermission SecurityAct
  • 假装 .NET 字符串是值类型

    在 NET 中 字符串是不可变的 并且是引用类型变量 这通常会让新的 NET 开发人员感到惊讶 因为他们的行为可能会将它们误认为是值类型对象 然而 除了使用实践StringBuilder对于长连接 尤其是 在循环中 在实践中是否有任何理由需
  • 是否使用 C# 数据集? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对 C 中的数据集概念有点困惑 编码 ASP NET 站点 但这并不重要 在我的阅读中 我了解到它们 本质上 用作我的应用程序和我的
  • 如何递归取消引用指针(C++03)?

    我正在尝试在 C 中递归地取消引用指针 如果传递一个对象 那就是not一个指针 这包括智能指针 我只想返回对象本身 如果可能的话通过引用返回 我有这个代码 template
  • 从 C# 使用 Odbc 调用 Oracle 包函数

    我在 Oracle 包中定义了一个函数 CREATE OR REPLACE PACKAGE BODY TESTUSER TESTPKG as FUNCTION testfunc n IN NUMBER RETURN NUMBER as be
  • 在 C# 中为父窗体中的子窗体控件添加事件处理程序

    我有两种形式 一种是带有按钮和文本框的父表单 单击该按钮时 将打开一个对话框 该子窗体又包含一个文本框和一个按钮 现在我想要的是 每当子表单文本框中的文本更改时 父表单文本框中的文本会自动更改 为了获得这个 我所做的是 Form3 f3 n
  • memcpy/memmove 到联合成员,这是否设置“活动”成员?

    重要说明 一些评论者似乎认为我是从工会抄袭的 仔细看memcpy 它从普通旧地址复制uint32 t 它不包含在联合中 另外 我正在复制 通过memcpy 到工会的特定成员 u a16 or u x in a union 不直接到整个联盟本
  • 将函数参数类型提取为参数包

    这是一个后续问题 解包 元组以调用匹配的函数指针 https stackoverflow com questions 7858817 unpacking a tuple to call a matching function pointer
  • Visual Studio 2015:v120 与 v140?

    仅供参考 Win10 x64 我今天开始尝试 Visual Studio 2015 在弄清楚如何运行 C C 部分后 我尝试加载一个大型个人项目 该项目使用非官方的glsdk http glsdk sourceforge net docs
  • EntityFramework 6.0.0.0 读取数据,但不插入

    我创建了一个基于服务的数据库 folderName gt Add New Item gt Data gt Service based Database文件到 WPF 应用程序中 然后我用过Database First方法并创建了Person
  • 如何在 sql azure 上运行 aspnet_regsql? [复制]

    这个问题在这里已经有答案了 可能的重复 将 ASP NET 成员资格数据库迁移到 SQL Azure https stackoverflow com questions 10140774 migrating asp net membersh
  • 为什么空循环使用如此多的处理器时间?

    如果我的代码中有一个空的 while 循环 例如 while true 它将把处理器的使用率提高到大约 25 但是 如果我执行以下操作 while true Sleep 1 它只会使用大约1 那么这是为什么呢 更新 感谢所有精彩的回复 但我
  • 正则表达式仅允许特定数字

    我正在寻找一个只允许输入特定数字的正则表达式 例如2 4 5 6 10 18 我尝试过类似的东西 2 4 5 6 10 18 我输入的任何内容都无法通过正则表达式 然后计算机用手指着我并大笑 我哪里出错了 单引号是不必要的 您正在寻找的正则
  • 是否允许全局静态标识符以单个 _ 开头?

    换句话说 可能static 文件范围 全局变量恰好以一个下划线开头 而不会产生与 C 实现发生名称冲突的可能性 https www gnu org software libc manual html node Reserved Names
  • 如何在 C 中将 char 连接到 char* ?

    我怎样才能前置char c to char myChar 我有c值为 A and myChar值为 LL 我怎样才能前置c to myChar使 ALL 这应该有效 include

随机推荐

  • 在 d3 sunburst v4 中旋转标签

    我尝试使用 d3 v4 sunburst 来可视化 json 中的一些数据 我可以用我想要的标签显示旭日图 但左侧的标签是颠倒的 我尝试了各种方法 我在其他来源找到了这些方法 但对我来说没有任何作用 这是我的编码
  • 华为应用画廊。我的应用如何在中国大陆市场发布?

    我的应用程序已经在Appgallery上获得批准 但可能华为在中国大陆市场的批准非常严格 他们给我发了一封拒绝在中国发表的邮件 我修改了应用程序和应用程序版权信息 但在中国境外发布时未获得批准 华为给我发了邮件 但是很复杂 我不知道如何提供
  • OneDrive for Business:“invalid_request”,“error_description”:“AADSTS90014:请求正文必须包含以下参数:'grant_type

    我正在尝试将 OneDrive for Business 集成到 Web 表单应用程序 为此 我使用给出的文档this url https dev onedrive com auth aad oauth htm在网络表单应用程序中 我有两个
  • 如何导出 Vagrant 虚拟机以进行传输

    我有一个 vagrant box 已启动并正在运行 配置有 LAMP 堆栈 我需要将其转移到另一台电脑上 我怎样才能导出它 我想我可以获得一个可以复制到另一台电脑的文件 这样我就可以运行一些命令来导入流浪盒 你有两种方法可以做到这一点 我称
  • NodeJS - 如何删除文本文件的第一行而不读取所有行?

    我的 S3 存储桶中有以下文件 field1 field2 field3 VAL11 VAL12 VAL13 VAL21 VAL22 VAL23 VAL31 VAL32 VAL33 最终目标是仅删除文件的第一行field1 field2 f
  • nhibernate 3.3 一对多映射代码更新子项而不是插入

    我与 旧 nhibernate 或 flutter 建立了无数次的一对多关联 但我无法让它与代码映射一起工作 这些是课程 public class Parent public virtual IList
  • MySQL中如何计算NULL值?

    我想知道如何找到 MySQL 数据库中所有 NULL 值 例如我试图显示所有还没有平均值的用户 这是 MySQL 代码 SELECT COUNT average as num FROM users WHERE user id user id
  • 过滤 mysql 复制(ignore-db)

    mysqlignore db 根据服务器 my cnf 工作 AFAIK i e binlog ignore db mysql replicate ignore db mysql 我不确定 如果这也适用于客户端 任何人都可以解释该机制 我如
  • 如何告诉 Ninject 绑定到它没有引用的实现

    我在用着NinjectMVC3 http nuget org List Packages Ninject MVC3在我的 ASP NET MVC3 项目中 我有3层 Foo Web Foo 服务 Foo Data Foo Web 引用 Fo
  • 如何在 PHP 页面中包含 JSP

    我希望在 PHP 模板中包含包含 Java 代码的 JSP 文件 有问题的两个包含文件是头文件和页脚文件 有人有这样做的经验吗 我们正在考虑仅执行 HTTP 请求来独立地从 JSP 文件中获取生成的 HTML 但不确定这样做是否会出现轻微的
  • APNS 不适用于 Adhoc 构建

    我正在使用具有临时配置文件和证书的应用程序 该申请尚未发布 但 APNS 给出了错误8 无效令牌 以下事项已被检查 应用程序具有授权密钥
  • NDK Android - 无法同时构建 ARMv5 和 V7

    我面临一个奇怪的问题 我正在为我的 Android 应用程序构建一个共享库 我无法同时构建armv5和armv7 如果这样做 我会在第二次运行时 当 ndk 构建 armV7 库时 在源文件中出现很多错误 例如 FinderPatternI
  • 更改 DOJO 小部件的默认样式

    我希望能够更改一些默认的 CSS 样式 例如 dijit TitlePane 而无需破解 工厂安装的 CSS 主题 我想做的是删除Title and 内容外层TitlePane 的边框 在声明小部件时设置一个类 在本例中为 无边框 不起作用
  • Ajax 在单击按钮上重新加载 div 内容

    我的想法是 我有一个主 DIV 其中包含汽车信息的内容迷你 div 每行分为两个 这是我通过数据库查询得到的 我希望在按下该按钮时使用来自DB 这可能吗 请指教 代码如下所示 div class SearchBlocks div class
  • 无法从 c# 中保存 Gnuplot png

    我试图从 c 中打开 gnuplot 并让它保存图表的 png 我有两个问题 1 gnuplot 的黑色命令行框和实际绘图都会出现 我希望这两个都不要出现 2 将终端设置为 png 并绘制 sin x 后 它实际上并没有保存文件 不过 这些
  • 如何在Xamarin中调用API在UI上显示数据

    我对 Xamarin 有点陌生 正在开发 iOS 应用程序 我需要调用 API 并绑定响应数据以查看已使用的MVVM图案 这是我的ViewModel Code public class PersonalDetailModel BaseVie
  • 处理 React Redux 应用程序中的异步错误

    不久前丹发推文 当我看到 then gt dispatch catch 在 React 项目中 如果组件在调度期间抛出异常 你就会陷入困境 并说解决方案是如此简单 只是不要链接 catch afterthen 渲染 UI 相反 将错误处理程
  • 从自定义子查询中选择列名称/别名的列表

    在 Oracle 中 有没有办法选择带有别名的自定义查询返回的所有列 举个例子 假设我们有一个如下查询 SELECT FIRST NAME AS COL1 LAST NAME AS COL2 ADDRESS AS COL3 FROM PEO
  • 如何在不添加任何代码的情况下在 Python 中对单元测试进行基准测试

    我有一个 Python 项目 其中有一堆已经实现的测试 我想开始对它们进行基准测试 以便我可以比较代码 服务器等随着时间的推移的性能 以类似于 Nose 的方式定位文件没有问题 因为无论如何我所有测试文件的名称中都有 test 但是 我在尝
  • 如何更改 ScriptManager 中注册脚本的顺序

    背景 在我们的母版页中 我们有一个ScriptManager看起来像这样