string aburl = Request.ApplicationPath;
if(!aburl.EndsWith("/"))
aburl += "/";
aburl += "dir/some.aspx";
if(!aburl.EndsWith("/"))
aburl += "/";
aburl += "dir/some.aspx";
其实是个小问题,但是发现比较普遍。
很多项目都是在作为一个虚拟目录来开发的,其中的一些绝对路径的位置当部署到站点的时候就不对了。因为Request.ApplicationPath在虚拟目下返回值是 "/[虚拟目录名]",而在站点下返回值是 "/".
在写usercontrol的时候可能需要引用项目内部资源,最好就用这种绝对路径比较通用。
注意小问题,会给后期的部署和维护带来很大的方便。
大家说的很对,知识已经更新,谢谢大家!