母版页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">