2013-05-09 132 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