最近刚刚学习Asp.Net编程,在使用母板页过程中,对于动态调用各种图片的地址问题搞得比较迷糊。静下心来,仔细思考一下Asp.Net的运行原理,终于恍然大悟。
问题描述如下
母板页文件位置 ~/a.master
使用母板页的文件位置 ~/aa/index.aspx
当在母板页中动态生成HTML的控件 和Asp.net的服务器端控件时,对于相同的图片,他们所需要的图片链接地址是不同的。
这是因为,HTML的控件在服务器端是不需要再次转换的,链接的图片地址即是相对于调用模板页文件的路径,(即浏览器访问的地址). 而是在母板页的代码页面重新编译的,所以他的ImageUrl链接的图片文件的地址应该是相对于母板页文件的地址。