如何在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、域名、端口、路径