gpt4 book ai didi

c# - ScriptManager.RegisterClientScriptInclude 后 Javascript 对象 "is not defined"错误

转载 作者:行者123 更新时间:2023-11-29 18:36:52 27 4
gpt4 key购买 nike

我有一个外部 js 文件,它基本上是一个 js 对象。我正在使用 ScriptManager.RegisterClientScriptInclude 方法将文件包含在页面上,之后我使用 ScriptManager.RegisterClientScriptBlock 方法调用 js 对象的方法,但出现“未定义 DynamicLoadingPanel”的 js 错误。当我在 aspx 页面中调用方法时,我知道该方法调用有效,但我认为我得到了 ScriptManager 注册脚本 block 时计时的错误原因。我目前在 Page_Load 事件中有寄存器,下面是我的代码。有人可以帮我了解这里发生了什么。谢谢。


Page_Load 事件

    protected void Page_Load(object sender, EventArgs e)
{
if (!Page.ClientScript.IsClientScriptIncludeRegistered("DynamicLoadingPanel"))
{
ScriptManager.RegisterClientScriptInclude(Page, typeof(Page), "DynamicLoadingPanel", "~/dynamicLoadingPanel.js");
ScriptManager.RegisterClientScriptBlock(Page, typeof(Page), "set_LoadingPanelID", "DynamicLoadingPanel.set_loadingPanelID('modalLayer');", true);
}
}

最佳答案

几经反复,终于找到了包含外部js文件的正确方法。因此,对于所有遇到此问题的人,我希望这可以为您节省几个令人沮丧的时间。

要包含您的文件,您必须获取当前 ScriptManager 的一个对象并将该文件添加到 Scripts 集合中。下面是一个例子。


ScriptManager sm = ScriptManager.GetCurrent(Page);
ScriptReference sr = new ScriptReference("~/scripts/dynamicLoadingPanel.js");
if (!sm.Scripts.Contains(sr))
sm.Scripts.Add(sr);

关于c# - ScriptManager.RegisterClientScriptInclude 后 Javascript 对象 "is not defined"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2313882/

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