Avatar ·

如何在ASP.NET C#中获取当前页面的URL?

大家好!我是C#和ASP.NET的新手,遇到了一个看似简单的问题。我需要获取用户当前所在页面的完整地址,例如用于传递到反馈链接或保存到日志中。 我尝试了几种方法,但都没有达到预期效果。以下是我尝试过的代码: ```csharp // 尝试1:直接使用 Request.Url string url = Request.Url.ToString(); // 返回奇怪的结果,比如 http://localhost:5000/Default.aspx,但没有参数 // 尝试2:使用 HttpContext.Current string currentUrl = HttpContext.Current.Request.Url.AbsoluteUri; // 似乎有效,但有时返回 null // 尝试3:使用 Page.Request string pageUrl = Page.Request.Url.ToString(); // 错误:当前上下文中不存在“Page” ``` 我正在使用Web Forms(旧项目),但也想了解如何在ASP.NET MVC和Razor Pages中实现。我需要获取: 1. 完整URL(包含http/https、域名、端口、路径