如何在asp.net母版页中插入javascript

str*_*go0 4 javascript asp.net

我们在主页中包含javascript时遇到了一些麻烦."〜/"根快捷方式似乎不起作用,因此我们必须手动输入将使用它的javascript路径,例如:"../../tooltip.js"

但是,问题是如果嵌套页面位于不同的路径中,这种方法不起作用,因为尽管嵌套页面位于不同的位置,路径保持不变 - 任何关于如何使路径自动工作的解决方案都像它一样对于css文件?

谢谢!

Rex*_*x M 7

~/是ASP.NET中的一个特殊实体,代表"应用程序根".只有在通过ASP.NET服务器控件传递该URL时才会发生转换,例如<asp:Image runat="server" ImageUrl="~/path..." />.试图将它作为文本文本直接传递给客户端的东西,例如`将在浏览器中完全呈现.

有一些解决方案:

  1. 将脚本放在相对于域根目录的可预测位置,例如domain.com/scripts/script.js,您可以将其称为/scripts/script.js.前面/告诉客户端(浏览器)它是域根的绝对路径.

  2. 使用Page.ResolveClientUrl呈现正确的路径(<%=Page.ResolveClientUrl("~/script./js")%>)

  3. 创建自己的服务器控件来处理~/分辨率.

  4. 将脚本嵌入为程序集资源.


lan*_*nce 5

Cory Larson 建议:

<script type="text/javascript" src="<%= Page.ResolveClientUrl("~/tooltip.js") %>"></script>
Run Code Online (Sandbox Code Playgroud)