我有一个位于更新面板上的控件。我希望我的 javascript 代码在每次更新 updatePAnel 时运行。
我用的是这样的:
ScriptManager.RegisterStartupScript(this, GetType(), "my_script", "runFunction();", true);
问题是我的 js 代码很大,我想将它放在 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
呈现整个标签定义的属性。
关于c# - 如何在 ScriptManager.RegisterStartupScript 中使用外部 js 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9930352/