我有一个用户控件,如果执行某个操作,我想使用一些额外的查询字符串参数重定向到用户所在的页面。
因此,如果 UserControl.ascx 在 Home.aspx 上,我想重定向到 Home.aspx?action=true,如果 UserControl.ascx 在 Profile.aspx 上,我想重定向到 Profile.aspx?action=true
所以基本上,在我的 UserControl.ascx.cs 中,我想获取父页面的 URL。我怎么才能得到它?
我有一个用户控件,如果执行某个操作,我想使用一些额外的查询字符串参数重定向到用户所在的页面。
因此,如果 UserControl.ascx 在 Home.aspx 上,我想重定向到 Home.aspx?action=true,如果 UserControl.ascx 在 Profile.aspx 上,我想重定向到 Profile.aspx?action=true
所以基本上,在我的 UserControl.ascx.cs 中,我想获取父页面的 URL。我怎么才能得到它?
您可以查看对象的Request.Url
、Request.RawUrl
、Request.FilePath
和其他一些类似属性Request
- 取决于您如何使用它。
这将为您提供来自浏览器的请求 URL,这将反过来告诉您您的控件所在的页面。
您仍然可以从用户控件访问请求对象,因此请执行以下操作:
string currentUrl = Request.Url.AbsoluteUri.ToString();
Request.UrlReferrer 通常会为您提供上一页的 URL。在某些情况下它可能为空:
只要您的代码在 UrlReferrer 为空或无效时“运行良好”,您就可以开始了。
Request.Url.Scheme + "://" + Request.Url.Host + Request.RawUrl