如何在ScriptManager.RegisterStartupScript中使用外部js文件

本文关键字:外部 js 文件 ScriptManager RegisterStartupScript | 更新日期: 2023-09-27 18:29:21

我在更新面板上有一个控件。我希望每次更新updatePAnel时都运行我的javascript代码。

我用这样的东西:

ScriptManager.RegisterStartupScript(this, GetType(), "my_script", "runFunction();", true);

问题是我的js代码很大,我想把它放在js文件中,然后从文件中使用它。我应该更改代码中的哪些内容?

如何在ScriptManager.RegisterStartupScript中使用外部js文件

您可以使用ScriptManager.RegisterClientScriptInclude方法:

ScriptManager.RegisterClientScriptInclude(
    updatePanel,
    updatePanel.GetType(),
    "a_key",
    "myScript.js"
);

请注意,此方法将在HTML的早期呈现脚本,因此脚本不应依赖于脚本在页面上的呈现顺序。

有关此方法的详细信息,请访问http://msdn.microsoft.com/pt-br/library/bb337005.aspx

但是,如果您的脚本依赖于其他脚本,一个更好的选择是使用ScriptManager.RegisterStartupScript方法,但不是将脚本主体作为参数传递,而是传递带有脚本地址的整个<script>标记:

ScriptManager.RegisterStartupScript(
    updatePanel,
    updatePanel.GetType(),
    "a_key",
    "<script type='text/javascript' src='my_script.js'></script>",
    false
);

请注意,设置addScriptTags标志的最后一个参数设置为false,允许您使用定义的src属性来呈现整个标记。