在master Page或用户控件中解决路径的问题

问题描述:


需要在最顶端的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" />,使用的绝对路径。

posted @ 2009-12-28 12:19  db's jim  阅读(218)  评论(0编辑  收藏  举报