gpt4 book ai didi

c# - ScriptManager、Page、静态方法...如何在没有 Page 的情况下获取当前的 ScriptManager?

转载 作者:行者123 更新时间:2023-11-30 19:48:57 30 4
gpt4 key购买 nike

我正在尝试扩展 ScriptManager 以简化处理具有多个资源文件(例如,不止一个脚本文件和 css)的资源。目标是我将能够将单个 ScriptReference 添加到 Scripts 并让它加载多个与该引用名称相关的资源。

我遇到的问题是,当使用不包含 Page 参数的静态方法时,您的基本 ScriptManager 如何知道如何处理这些东西?例如:

ScriptManager.ScriptResourceMapping.AddDefinition("someName", new
ScriptResourceDefinition { Path="/script/somescript.js"});

这会为(我猜)添加一个定义,无论您调用它时正在运行的页面的事件脚本管理器是什么。但与 RegisterClientScriptBlock 等老式方法不同,没有传递标识页面的参数。但是这些东西必须存储在 ScriptManager 对象中,不是吗?那它是怎么知道的呢?

我总是可以通过这个获得对事件的引用:

ScriptManager.GetCurrent(page);

但理想情况下,我会创建与 Microsoft 完全相同的新方法。我不知道如何实现类似的东西

ScriptManager.ScriptResourceMapping.AddDefinition(string name,
ScriptResourceDefinition definition,
ResourceType type)

无需添加 Page 参数即可计算出要将内容添加到的对象实例。他们正在以某种方式做到这一点……我怎样才能做到?

最佳答案

即使在静态上下文中,您也可以通过 (Page)(HttpContext.Current.Handler) 获取页面引用。

关于c# - ScriptManager、Page、静态方法...如何在没有 Page 的情况下获取当前的 ScriptManager?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4696118/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com