母版页Master中Html控件img,a,javascript相对路径问题

在一个WEB项目时,我发现了一些关于母版页相对路径的问题

1.<img>控件,图片不能显示

解决方案:

修改前:

<img src="images/footlogo.jpg" />

修改后:

<img src="images/footlogo.jpg" runat="server" />

2.<a>控件

修改前:

<a href="Report/WCDMAHSDPA.aspx" >WCDMA HSDPA</a>

修改后:

<a href="Report/WCDMAHSDPA.aspx" runat="server">WCDMA HSDPA</a>

3.javascript

(1)路径的问题,加一段<%=Request.ApplicationPath %>

<script src="<%=Request.ApplicationPath %>sdmenu/sdmenu.js">

    </script>

(2)如果JavaScript中带<%=Request.ApplicationPath %>,这段添加脚本的代码不要放在head中,放到Body里,这是因为<%=Request.ApplicationPath %>不能再runat="server"代码块中。

如果放在head中,报错误System.Web.HttpException,控件包含代码块(即<%...%>,因此无法修改控件集合,错误如下所示:

修改前代码:

<head id="Head1" runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题页</title>
     <link href="css/main.css" type="text/css" rel="stylesheet" />
    <link rel="stylesheet" type="text/css" href="sdmenu/sdmenu.css" />
 script type="text/javascript" src="<%=Request.ApplicationPath %>sdmenu/sdmenu.js">
 </script>
<script type="text/javascript">
 // <![CDATA[
 var myMenu;
 window.onload = function() {
  myMenu = new SDMenu("my_menu");
  myMenu.init();
 };
 // ]]>
 </script>
 
 <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
<%--    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>--%>
</head>

修改后代码:

<body>
<script type="text/javascript" src="<%=Request.ApplicationPath %>sdmenu/sdmenu.js">
 </script>
<script type="text/javascript">
 // <![CDATA[
 var myMenu;
 window.onload = function() {
  myMenu = new SDMenu("my_menu");
  myMenu.init();
 };
 // ]]>
 </script>
    <form id="form1" runat="server">
    <div id="main">

posted on 2010-05-12 13:03  前进  阅读(976)  评论(0编辑  收藏  举报

导航