将特定用户链接代码添加到url的末尾

时间:2011-08-23 18:30:14

标签: asp.net vb.net url hyperlink

我不太清楚如何解释这个,但我需要能够将用户的代码添加到他们去的每个页面的url的末尾。

让我引导您完成此操作.....我是用户,访问我的网站并输入我的用户代码 - 这不是登录。没有密码,理论上会有一个框或某种类型的控件允许用户输入他们的代码。

然后,该控件将该用户的代码添加到站点中每个页面的每个URL的末尾,并且还将自动填充数据库中与该代码绑定的所有产品。

用户就像一个企业或联盟营销人员。我们需要在每个URL末尾的代码,当他向客户发送带有链接的电子邮件进行购买时,客户端将点击该链接,该营销人员将获得该销售的信用。

如果这是有道理的,有人会指导我一个有用的教程或解释这对我有用吗?谢谢

我被告知要使用此代码:

<ul id="p7menubar">
    <li><a href="<% =GetIB("http://products.pfgbest.com") %>">Home</a></li>
    <li><a href="#" class="trigger">Lookup</a>
        <ul>
        <li><a href="<% =GetIB("Default.aspx") %>">Product</a></li>
        <li><a href="<% =GetIB("/FeatureSearch.aspx") %>">Feature</a></li>
        <li><a href="<% =GetIB("/DescriptionSearch.aspx") %>">Description</a></li>
        </ul>
    </li><!--end trigger li-->
    <div id="ib">
    Enter your IB code here:
        <asp:TextBox ID="IBTextBox" runat="server"></asp:TextBox>
        <asp:Button ID="IBTextBoxButton" runat="server" Text="Submit" />
    </div>
    </ul><!--end p7menubar-->


Partial Class MasterPage
Inherits System.Web.UI.MasterPage
Private _IB As String
Public Property IB() As String
    Get
        Return _IB
    End Get
    Set(ByVal value As String)
        _IB = value
    End Set
End Property

Public Function GetIB(ByVal url As String) As String
    If (url.Contains("?")) Then
        Return "&IB=" & _IB
    Else
        Return url & "?IB=" & _IB
    End If
End Function

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not (String.IsNullOrEmpty(Request.QueryString("IB"))) Then
        _IB = Request.QueryString("IB")
    End If
End Sub
End Class

更新:在@DJ Quimby和ASP.net 3.5 for Dummies的帮助下,我现在正在使用这个代码,它似乎正在把它输入到我的文本框中的任何值:

 Protected Sub IBTextBoxButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles IBTextBoxButton.Click
    Session("IB") = IBTextBox.Text
    Dim IB As Integer = Session("IB")
    Response.Redirect("IBDefault.aspx?Baccount=" + Session("IB"))
End Sub

更新

<a target="_blank" href="<%# eval("Data") %>?IB=(Session("IB"))"><%#Eval("Title")%></a>

“IB”加下划线并表示必须后跟一个等号(=)和一个值。或者如果在引号中,它们必须匹配。

1 个答案:

答案 0 :(得分:0)

除非存在任何私人数据问题,否则最好将用户代码存储到会话中。

您可以通过执行以下操作,将您想要的大多数变量添加到会话中:     会话(“userCode”)=“12”

并像这样检索它:
    'Dim userCode as Integer'
    'userCode = Session(“userCode”)'

请确保您将其存储的类型与您将其拉回时所分配的类型兼容。

要检查每个页面,您可以在页面中声明一个私有变量来存储值:
    Private userCode As Integer

然后是     Sub Page_Load(sender As Object, e As EventArgs)
    userCode = Session("userCode")
    End Sub

然后只需执行使用该值所需的任何其他代码。