10

我有一个用户控件,如果执行某个操作,我想使用一些额外的查询字符串参数重定向到用户所在的页面。

因此,如果 UserControl.ascx 在 Home.aspx 上,我想重定向到 Home.aspx?action=true,如果 UserControl.ascx 在 Profile.aspx 上,我想重定向到 Profile.aspx?action=true

所以基本上,在我的 UserControl.ascx.cs 中,我想获取父页面的 URL。我怎么才能得到它?

4

4 回答 4

15

您可以查看对象的Request.UrlRequest.RawUrlRequest.FilePath和其他一些类似属性Request- 取决于您如何使用它。

这将为您提供来自浏览器的请求 URL,这将反过来告诉您您的控件所在的页面。

于 2011-08-12T13:49:02.467 回答
2

您仍然可以从用户控件访问请求对象,因此请执行以下操作:

string currentUrl = Request.Url.AbsoluteUri.ToString();
于 2011-08-12T13:50:04.567 回答
1

Request.UrlReferrer 通常会为您提供上一页的 URL。在某些情况下它可能为空:

  • 从电子邮件消息中单击的链接
  • 保存到桌面的快捷方式
  • 欺骗性网址
  • 也许一些设置或浏览器
  • 可能还有其他情况

只要您的代码在 UrlReferrer 为空或无效时“运行良好”,您就可以开始了。

于 2011-08-12T13:50:46.537 回答
-1
Request.Url.Scheme + "://" + Request.Url.Host  + Request.RawUrl
于 2016-04-27T19:18:19.437 回答