2011-08-12 54 views
9

我有一個用戶控件,如果執行某個操作,我想用一些額外的查詢字符串參數重定向到用戶所在的頁面。如何找到用戶控件的父頁面的url

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

所以基本上,在我的UserControl.ascx.cs中,我想獲取父頁的URL。我怎麼才能得到它?

回答

14

你可以看一下Request.UrlRequest.RawUrlRequest.FilePath,以及一些Request對象的其他類似性質的 - 這取決於你如何使用這個。

這會給你從瀏覽器請求的URL,它會反過來告訴你你的控件在哪個頁面上。

+0

Request.Url帶回一個的System.Uri - 在[MSDN這裏(http://msdn.microsoft.com/en-us/library/system.uri.aspx) – mlhDev

2

你仍然有機會獲得來自用戶控制的請求對象,所以做這樣的事情:

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

Request.UrlReferrer將讓你的前一頁的URL ...通常。有一些情況下它可能是空的:

  • 鏈接從電子郵件中點擊
  • 快捷方式保存到桌面
  • 欺騙性的URL
  • 也許一些設置或瀏覽器
  • 或許還有其他方案作爲以及

只要您的代碼在UrlReferrer爲空或無效時「很好地播放」,您應該很好。

-1
Request.Url.Scheme + "://" + Request.Url.Host + Request.RawUrl 
+0

你的反應會更如果你解釋了爲什麼它可以解決問題,這會很有幫助 –

相關問題