|
在asp.net2.0中新增加了特殊符号"~",该符号表示基于本网站站点根目录的路径,有了它,我们就可以在使用绝对路径和相对路径都不太合适的时候发挥作用了。不过今天做到asp.net项目页面整和时却意外地有一个发现,即"~"只对asp.net的服务器端控件起作用,对html标记不起作用。发现这个问题是因为我们的美工在给我们做母版页时,用的全是html标记,里面用<img>表示图片,图片的url使用的是相对路径,这样当我们的内容页使用这个母版页时,当内容页和母版页的目录层次不一致时,在内容页中母版页内的图片就不能正常显示。兄弟发现这个问题后问我怎么办?我说把里面的路径换成以"~"开头的试试,结果发现图片还是不能显示,而且链接的url用了"~"后也不行。于是我把<img>换成服务器端的控件<asp:Image>试了一下,可以了。再换成<asp:HyperLink>直接设置它的Imgeurl,Target,NavigateUrl属性,用一个控件就实现了html中需要用<a><img>两个标记实现的图片链接。
其实,仔细想想也是有道理的,"~"符号只是在asp.net2.0推出以后才发挥作用,而html早在10多年前就有了,所以可以推断出"~"符号是微软针对asp.net服务器端控件专门使用的一个符号。其在html的href,src等属性中不支持也就不足为奇了。
|