图片链接模板css,wusir .NET模板页图片文件及CSS文件引用的路径问题 ResolveUrl使用...

ASP.NET的模板页是一个很好用的功能,内容页调用母版页,可以使得整个网站具有统一的效果。但内容页调用母版页也会出现一些问题,主要是文件调用的路径问题。现在进行一个讨论:

a4c26d1e5885305701be709a3d33442f.png

见上代码,这是母版页调用CSS文件及JS文件的典型代码。当内容页与母版页在同一个目录时(一般母版页会放在网站根目录,因此,当内容页在根目录时),内容页一切正常。但当调用该母版页的内容页与母版页不在一个目录时,问题就出现了:你会发现CSS调用正常,但JS文件无法调用。原因是:使用link办法链入的CSS文件,无论内容页在任何地方,调用都是正常的,这个特性可以赞扬一下。但调用JS文件时,src调用的JS文件指的是母版页所在目录的子目录js下的h_nav_manu.js文件,如果内容页不在同一个目录,它就认为这个JS文件位于内容页下子目录js内,这样自然找不到。要使得任何位置的内容页都可以解析出母版页引用的JS文件,可以使用ResolveUrl方法,本方法建议对目前网站的虚拟根目录进行解析,如下图:

a4c26d1e5885305701be709a3d33442f.png

使用是因为HTML下不认识.NET的这个方法,所以需要用它指明,同时,这里使用了~/的网站虚拟根目录的方式结合ResolveUrl使用,这样,调用该母版页的内容页处在网站的任何目录下,都可以正常引用JS文件。

再来看看母版页出现的图片文件引用:

a4c26d1e5885305701be709a3d33442f.png

该图片是典型的HTML使用,其中id指的是CSS定义的id,在HTML中调用这个id定义。同样,内容页与母版页在同一目录时,图片显示正常;内容页与母版页不在一个目录下时,图片无法显示。解决这个问题,同样可以使用前边叙述的调用JS的办法,使用ResolveUrl完成工作。不过,还有另外一个办法,即将runat="server"加入到上代码内,做成一个服务器控件,这样内容页引用就不会出现问题,如下图:

a4c26d1e5885305701be709a3d33442f.png

对比一下代码的不同,发现alt属性名改为了title属性名,这是因为img标签变成了服务器控件,所以文字显示的属性相应由HTML中的alt改变为.NET中的title,同时,原来的id变成了class,这是由于在服务器控件中,id是控件识别符,不是调用CSS的属性名,因此,如果对img标签有各种CSS的修饰定义,需要将其定义为类,用class的方式调用。

当然,对图片来说,也可以使用服务器的image控件来调出图片。但是,请相信,HTML中的img也有.NET服务器控件所无法替代的优点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值