我正在編寫一個通用庫供我的所有Web項目使用。其中一個功能是永久重定向如下:解析相對(「〜」)路徑而不參考當前頁面?
public static void PermanentRedirect(string url, HttpResponse response, bool endResponse)
{
url = //resolve url here. how?
response.Status = "301 Moved Permanently";
response.AddHeader("Location", url);
if (endResponse) response.End();
}
我怎樣才能解決這個網址,而不必通過當前頁面可以訪問Page.ResolveUrl
?請注意,我可以通過更改方法簽名,但我不想因爲我認爲這會導致API負擔過重。
我有這幾個重載,所以我期望的用法是:
WebUtility.PermanentRedirect("~/somewhere/somepage.aspx")
這種情況下*'〜〜是什麼意思? (相對於什麼?我相信這兩個參數的URI構造函數會按預期的方式處理它)。如果不能以其他方式獲取頁面,則可以直接從HttpContext訪問該頁面。 – 2012-05-01 21:17:41
'〜'是映射到Web應用程序根目錄的普通Web應用程序根運算符。關於Uri構造函數,你是指'新的Uri(字符串uriString,bool dontEscape)'?這是貶值,我不知道如果其他將適用。 – Jeff