如何查找用户控件的父页面的URL

时间:2011-08-12 13:43:40

标签: asp.net user-controls ascx web-user-controls

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

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

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

4 个答案:

答案 0 :(得分:14)

您可以查看Request.UrlRequest.RawUrlRequest.FilePath以及Request对象的其他一些类似属性 - 具体取决于您使用此方式的方式

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

答案 1 :(得分:2)

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

string currentUrl = Request.Url.AbsoluteUri.ToString();

答案 2 :(得分:1)

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

  • 从电子邮件中点击的链接
  • 保存到桌面的快捷方式
  • 欺骗网址
  • 可能是某些设置或浏览器
  • 可能还有其他场景

只要你的代码在UrlReferrer为空或无效时“播放得很好”,你就应该好好去。

答案 3 :(得分:-1)

 XDocument test = XDocument.Load(UrlAdrress);
 var result = XMLHelper.FromXML<XmlSportsModel>(test);