簡體   English   中英

如何在C#中獲取Sharepoint 2013中的當前請求URL?

[英]How to get current request url in Sharepoint 2013 in C#?

如何獲取當前請求的URL

我輸入瀏覽器:

http://srv-1/sites/1001/Account Documents/Order

但在我的控件的Page_Load中,我得到了

HttpContext.Current.Request.Url = http://srv-1/_layouts/15/start.aspx

Page.Request.RawUrl = Page.Request.RawUrl

我需要檢索信息: /Account Documents/Order

這是因為最小下載策略功能。 您的網址由SharePoint重寫。

最簡單的解決方案是禁用此功能,但您也可以嘗試通過SPUtility.OriginalServerRelativeRequestUrl屬性獲取URL或重構您的代碼不使用url,但使用當前庫或其他內容。

如果您嘗試使用該頁面,則SharePoint會自行重寫URL

解決方案是在[SPUtility類 - SPUtility.OriginalServerRelativeRequestUrl] [1]上使用特殊屬性

http://blog.voyta.net/2012/07/09/how-to-get-original-request-url-in-sharepoint/

此屬性在重寫之前返回原始URL,如果您需要從中加載應用程序頁面的子網站,這將非常有用。

由於此URL與服務器相關,要獲取完整URL,您可以使用:

SPUtility.GetFullUrl(SPContext.Current.Site,SPUtility.OriginalServerRelativeRequestUrl);

如果您需要使用一些其他參數重定向到相同的URL,這可能很有用。

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM