ASP.NET母版页与内容页相对路径的问题
1. 图片问题
图片显示问题:
<img runat="server" src="~/images/ad468x60.gif"
/>
方法1:如果<img>标签外层有runat"server"类型的form 加上runat="server"
路径使用绝对路径~/
方法2:
background="<%=ResolveClientUrl("~/image/Logo1.jpg")%>"
方法3:使用服务器标签
<asp:Image runat="server" ID="img" ImageUrl="~/images/close.jpg" />
背景图问题:
在一个控件的背景使用背景图的时候,在相对路径下会找不到图片,此时只需要将此图片设置成CSS文件的相对路径就可以了:
如CSS定义:.menu_head
{ background-image:url(../images/plus.gif);background-repeat:no-repeat;
background-position:right;}
JS文件中改变此背景图: $(this).css({ backgroundImage:
"url(../images/minus.gif)" });
2. CSS文件引用
<link rel="stylesheet" type="text/css" href="style.css" />
这里神奇的就是link的文件的href是随着被访问文件的目录结构自动调整,说白了就考虑母版页引用的路径就可以了,其他不用费心。
比如在母版页同目录下的一个文件夹内的一个xxx.aspx引用的母版页,那么上面的语句在客户端就自动变为
<link rel="stylesheet" type="text/css" href="../style.css" />
前提就是<head runat="server"></head>必须有runat="server"
3. JS文件引用
<script type="text/javascript" src="menu/jquery.min.js"></script>
这样的话在其他目录下的页面文件,客户端肯定就引用不到了
那么你需要这样处理
<script type="text/javascript" src=‘<%=ResolveUrl("menu/jquery.min.js")%>‘></script>
<script type="text/javascript" src=‘<%=ResolveClientUrl("menu/ddsmoothmenu.js")%>‘></script>
那么很明显ResolveClientUrl是相对路径,是比较好用的,当然ResolveUrl也有很多地方需要这样的绝对路径,其中TLERP是web应用的名字。
4.母版页下查找DOM问题
方式1:使用母版页,组件的id都会变得,所以不能写死,要用 xxxx.ClientID 动态的
方式2:利用jquery智能的selector。
var arg =
$(‘[id$=TextBox1]‘).val();(未验证)
获取window的width和div的width时出现的问题:
一般情况下:
($(".page")代表一个div)
var windowWidth = $(window).width();
var
pageWidth =
$(".page").width();
但使用母版页后,内容页与母版页不在同一目录时则不可用:
调试后发现$(window)的第一个元素为一个Window
Window下包含innerWidth属性
$(".page")的第一个元素为一个HTMLDivElement
下面包含clientWidth属性
所以改写后为:
var windowWidth =
$(window)[0].innerWidth;
var pageWidth =
$(".page")[0].clientWidth;
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。