【发布时间】:2018-05-30 10:15:27
【问题描述】:
我的项目中有一个单独的 JavaScript 文件,我想使用 ScriptManager 从后面的 c# 代码调用它。
(我的外部 Javascript 文件是一个插件。)
我该怎么做?有可能吗?
【问题讨论】:
标签: javascript jquery asp.net
我的项目中有一个单独的 JavaScript 文件,我想使用 ScriptManager 从后面的 c# 代码调用它。
(我的外部 Javascript 文件是一个插件。)
我该怎么做?有可能吗?
【问题讨论】:
标签: javascript jquery asp.net
使用ScriptManager我们可以调用外部JS文件如下:
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "none", "<script src='foo.js' type='text/javascript'></script>", false);
这里foo.js是我的JS文件,也是我的项目,这个文件可以在需要的时候从后端调用。在页面加载中它不会被调用。
【讨论】:
您应该可以使用RegisterStartupScript 来执行此操作。这样的事情应该可以工作:
ScriptManager.RegisterStartupScript(GetType(), "JavaScript", "javascript:function_name(); ", true);
从您的 cmets 看来,您真正想做的是从后面的代码中动态加载 JavaScript 文件。这可以通过在后面的代码中构建一个script 元素并将其添加到页面来完成。
例如,给定一个名为 myFile.js 的脚本,您可以执行以下操作:
var js = new HtmlGenericControl("script");
js.Attributes["type"] = "text/javascript";
js.Attributes["src"] = "myFile.js";
Page.Header.Controls.Add(js);
【讨论】:
script 标签将脚本添加到您的页面,就像任何其他 HTML 页面一样:<script src="foo.js"></script>。该脚本将在页面加载时加载。然后,您可以从该脚本调用任何方法。
foo.js 仅当某些函数从后面的代码中变为真时。怎么做?谢谢和问候....!