完美解决Asp.Net的MasterPage中添加JavaScript路径问题
问题描述:
需要在最顶端的MasterPage中注册JavaScript脚本文件,在Head中用Script标记无效,原因可能是此MasterPage被多层次继承使用,且最终使用这些MasterPage的aspx页面分布于不同的文件夹中,造成引用路径无效,导致JavaScript不被正确加载执行。
问题的解决:
使用ScriptManager来注册脚本文件,如下:
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/ERP/JS/jquery-1.2.6-vsdoc-cn.js" />
<asp:ScriptReference Path="~/ERP/JS/JavaScript_ERP.js" />
</Scripts>
</asp:ScriptManager>
Ok,由此完美的解决了路径问题。
在解决问题的过程中过发现了一些有趣的花絮:
在Head块中,加入Script标签时,VS的智能提示可以手工选择URL,完成后选取结果是<script src = "../JS/JavaScript_ERP.js" type="text/javascript">。在属性页中也可以选取该Script的Src ,结果是<script src ="http://www.cnblogs.com/ERP/JS/JavaScript_ERP.js" type="text/javascript">,很显然这两种选取相对路径的方法稍有不同。
另外在<asp:ScriptReference Path="~/ERP/JS/jquery-1.2.6-vsdoc-cn.js" />,使用的绝对路径。
版权提示:原创文章,引用请注明出处。灯火阑珊处
![](http://img.zemanta.com/pixy.gif?x-id=6658749b-7438-4182-b676-5c9e2d6703b2)