Javascript ASP.NET:如何(以编程方式)附加<;脚本>;标记,包含指向.js的链接,指向<;头>;?

Javascript ASP.NET:如何(以编程方式)附加<;脚本>;标记,包含指向.js的链接,指向<;头>;?,javascript,asp.net,directory,master-pages,Javascript,Asp.net,Directory,Master Pages,这是一个场景: 我正在开发一个新的ASP.NET应用程序,它对其中几乎所有的网页使用母版页,其中一些网页嵌套到4个级别。由于项目的规模,我被迫将网页组织到不同深度的文件夹中。位于根目录下的全局主控(大写)页面包含一些有用的Javascript函数,这些函数在web应用程序中一直使用,我想将这些函数放在一个.js文件中,以便保持顺序:D。(它们当前嵌入到母版页中) 然而,我最近发现,放置在块上的标记不能将其路径指定为,例如,“~/Scripts/Utils.js”,因为ASP.NET似乎无法在标记

这是一个场景:

我正在开发一个新的ASP.NET应用程序,它对其中几乎所有的网页使用母版页,其中一些网页嵌套到4个级别。由于项目的规模,我被迫将网页组织到不同深度的文件夹中。位于根目录下的全局主控(大写)页面包含一些有用的Javascript函数,这些函数在web应用程序中一直使用,我想将这些函数放在一个.js文件中,以便保持顺序:D。(它们当前嵌入到母版页中)

然而,我最近发现,放置在块上的标记不能将其路径指定为,例如,“~/Scripts/Utils.js”,因为ASP.NET似乎无法在标记上识别这些路径(但奇怪的是,它确实可以在标记上识别它们)。我试图避免在站点上的每个网页上插入一个标记,指定指向.js文件的相对路径(这就是为什么我首先要使用母版页的原因)

因此,从本质上讲,考虑到这个场景,我想问您,建议如何通过代码将标记插入到网页块中,以便在指定指向.js文件的链接时使用类似于某物的东西(某物,page.ResolveURL(~/Scripts/Utils.js));在全局母版页中,它将解析为应用程序所有网页上的正确路径,无论它们位于哪个目录中


或者这不是正确的方法,我应该完全使用其他方法吗?

您可以使用
ClientScriptManager

Page.ClientScript.RegisterClientScriptInclude("MyScript", ResolveUrl("~/Scripts/MyScript.js"));

第一个参数是表示脚本文件的唯一键,用于停止使用相同键注册后续脚本。例如,您可能有一些执行相同操作的共享代码,并且可以执行多次,因此通过指定密钥,您可以确保脚本只注册一次。

效果非常好。非常感谢你!请注意,它不会将标签放在,而是放在,但是,嘿,我实际上并不需要它,因为使用js函数的实际上是在主体上。所以这对我来说很好!