【问题标题】:How to access External JS file from aspx code behind using ScriptManager in asp.net?如何在asp.net中使用ScriptManager从aspx代码访问外部JS文件?
【发布时间】:2018-05-30 10:15:27
【问题描述】:

我的项目中有一个单独的 JavaScript 文件,我想使用 ScriptManager 从后面的 c# 代码调用它。

(我的外部 Javascript 文件是一个插件。)

我该怎么做?有可能吗?

【问题讨论】:

    标签: javascript jquery asp.net


    【解决方案1】:

    使用ScriptManager我们可以调用外部JS文件如下:

    ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "none", "<script src='foo.js' type='text/javascript'></script>", false);

    这里foo.js是我的JS文件,也是我的项目,这个文件可以在需要的时候从后端调用。在页面加载中它不会被调用。

    【讨论】:

      【解决方案2】:

      您应该可以使用RegisterStartupScript 来执行此操作。这样的事情应该可以工作:

      ScriptManager.RegisterStartupScript(GetType(), "JavaScript", "javascript:function_name(); ", true);

      请参阅https://msdn.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.registerstartupscript(v=vs.110).aspx 了解更多信息。

      更新

      从您的 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);
      

      【讨论】:

      • 谢谢@AndroidNoobie...!但我想从后面的代码中调用整个 JS 文件。有没有可能
      • 我想我不明白这个问题。您可以使用 script 标签将脚本添加到您的页面,就像任何其他 HTML 页面一样:<script src="foo.js"></script>。该脚本将在页面加载时加载。然后,您可以从该脚本调用任何方法。
      • 正是……!但我想调用这个脚本文件foo.js 仅当某些函数从后面的代码中变为真时。怎么做?谢谢和问候....!
      • 很高兴能帮上忙!如果您觉得我的回答有用,请随时将其标记为已接受,以便以后有相同问题的其他人更容易找到它。
      猜你喜欢
      • 2010-11-21
      • 2018-03-31
      • 1970-01-01
      • 1970-01-01
      • 2011-07-16
      • 2012-06-09
      • 1970-01-01
      • 1970-01-01
      • 2011-01-23
      相关资源
      最近更新 更多