2012年1月3日

asp.net 取得專案執行Root的URL修正版

之前寫的asp.net 取得專案執行Root的URL 在ResolveUrl("~")會有bug..
可是string.Replace()沒有只做N次的多載?
那以前為何會有 只做N次 和 從index開始 這種印象?
看來是別的語言的遺毒啊~ 反正也不記得了..


最後是用Regex.Replace(string input, string replacement, int count)
而且它也有Regex.Replace(string input, string replacement, int count, int startat)
啊咧.. 該不會是記成Regex的Replace了吧? =.=

改成
public static string GetProjectRootUrl()
{
string extraUrl = new Regex(_page.ResolveUrl("~"), RegexOptions.IgnoreCase).Replace(_page.Request.FilePath, string.Empty, 1);
string prjRootUrl = _page.Request.Url.AbsoluteUri.Remove(_page.Request.Url.AbsoluteUri.IndexOf(extraUrl));
return prjRootUrl;
}

沒有留言: