すべての Web プロジェクトで使用する汎用ライブラリを作成しています。関数の 1 つは、次のような永続的なリダイレクトです。
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();
}
にアクセスするために現在のページを渡さなくても URL を解決するにはどうすればよいPage.ResolveUrl
ですか? メソッドの署名を変更することはできますが、API に負担がかかると思うので、変更しないことをお勧めします。
これにはいくつかのオーバーロードがあるため、希望する使用法は次のとおりです。
WebUtility.PermanentRedirect("~/somewhere/somepage.aspx")