gpt4 book ai didi

c# - 在不引用当前页面的情况下解析相对 ("~") 路径?

转载 作者:行者123 更新时间:2023-11-30 14:15:13 27 4
gpt4 key购买 nike

我正在编写一个通用库,供我所有的 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();
}

如何在不传递当前页面的情况下解析 URL 以访问 Page.ResolveUrl?请注意,我可以更改方法签名,但我不想这样做,因为我认为这会使 API 负担过重。

我有几个重载,所以我想要的用法是:

WebUtility.PermanentRedirect("~/somewhere/somepage.aspx")

最佳答案

我相信你可以使用 HttpRuntime.AppDomainAppVirtualPath作为代字号的直接替代品。

您还可以使用 VirtualPathUtility.ToAbsolute ,但它不喜欢查询字符串 - 因此您必须将它们解析出来(或者最好使用 UriBuilder)。

哦 - 和题外话,但恕我直言,HttpResponse 的扩展方法会使语法更简单一些。

关于c# - 在不引用当前页面的情况下解析相对 ("~") 路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10404467/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com