2013-05-09 126 views
0

好吧,我的問題是有兩個網站有兩個不同的服務器。我想要做的是寫一些網站1的按鈕,但在我的服務器(網站2)上的一個頁面。找到引用網址並解析它

因此,要做到這一點的方法是

  • 用戶點擊按鈕,從網站1
  • 用戶被重定向到網站2
  • 我需要知道他們來幹什麼頁面從,所以我知道他們在看什麼產品。這將通過獲取引薦來源網址來完成。
  • 然後我需要解析URL的產品ID號。

例如網址:website1.com/ProductDetails/?referrerPage=1 & =的productID ####### &標籤=瓷磚

我知道我需要使用這段代碼來存儲引用URL中的字符串:

myReferrer = Request.UrlReferrer.ToString(); 

我真的不知道該把它放在哪裏。我在我的按鈕是在我的.cs文件猜測?

protected void btnEstimate_Click(object sender, EventArgs e) 
{ 
    connection strings 
    { 
     does stuff 
     { 
      does stuff 
     } 

所以我的問題是如何獲得引薦網址,然後解析出物品ID?

感謝您的幫助提前。如果有什麼不清楚的地方,請問...這是我第一次問一個問題,所以我可能不清楚。謝謝!

+1

'HttpUtility.ParseQueryString()'。 – SLaks 2013-05-09 14:10:21

+0

你可以做以下兩個我想到的。 1.因爲觀衆在現場1傳遞一些參數到站點2的鏈接。並且2,在頁面加載站點2時存儲UrlReferrer ... – mtsiakiris 2013-05-09 14:13:19

回答

1

這應該給你想要的東西:

Making Sense of ASP.NET Paths

需要注意的是一個完全合格的URL包括查詢字符串和額外的路徑是一個URI實例,而不是字符串。您可以使用UriBuilder.Query屬性來提取查詢字符串參數:

您需要解析接收站點頁面的Page_Load方法中的URI。

UriBuilder.Query Property

1

有一個稱爲HTTP_REFERER的服務器變量。你可以用Request.ServerVariables("HTTP_REFERER")

這是拼錯的,我知道,但這就是你真正需要調用服務器變量的方式。

只有當用戶點擊鏈接時,您的引用服務器變量纔會被填充。 AFAIK如果你重定向,那個變量將是空的。

Wikipedia Referer Article