在script标签src属性中使用tilde

时间:2012-11-24 08:48:39

标签: asp.net routing tilde

在我使用MasterPageRouting的asp.net网站上,我在href标签的link属性中为head中的样式表使用了代字号MasterPage的部分。像这样:

<link href="~/Styles/Main.css" rel="stylesheet" type="text/css" />

这就像魅力一样。由于网站使用路由,网址将包含越来越多的/,但样式表的href仍然有效,因为代字号指向Web应用程序的根目录并使用了样式。

我尝试对src标记的script属性使用相同的技术,但这似乎不会产生预期的结果。我试过了:

<script src="~/Scripts/jquery-1.8.2.min.js" type="text/javascript" ></script>

但是这只是将波形符输出到页面的HTML而不是像使用href属性那样用Web应用程序的根替换它。我的经验是asp.net替换href属性中的波浪号,但不替换src属性中的波浪号。

如何让代字号在src脚本标签中运行?

2 个答案:

答案 0 :(得分:13)

我不确定是否有办法让它在没有一点帮助的情况下正常工作。这应该工作,但不如link那么好:

<script src="<%=ResolveUrl("~/Scripts/jquery-1.8.2.min.js")%>"></script>

答案 1 :(得分:0)

不幸的是,你想要的东西不起作用(虽然我同意它应该)。

如果您使用的是脚本管理器,那么您可以做一些相当接近的事情:

<asp:ScriptManager>
   <Scripts>
      <asp:ScriptReference Path="~/Scripts/jquery-1.8.2.min.js" />
   </Scripts>
</asp:ScriptManager>