добавление определенного кода ссылки пользователя в конец URL - PullRequest
0 голосов
/ 23 августа 2011

Я не совсем уверен, как это объяснить, но мне нужно иметь возможность добавлять код пользователя в конец 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 для чайников я сейчас использую этот код, и кажется, что он принимает любое значение, которое я ввожу в свое текстовое поле:

 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

UPDATE:

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

"IB" подчеркивается и говорит, что за ним должны следовать знак равенства (=) и значение. Или, если в кавычках они должны совпадать.

1 Ответ

0 голосов
/ 06 октября 2011

Если нет каких-либо проблем с частными данными, может быть лучше сохранить код пользователя в сеансе.

Вы можете добавить большинство любых переменных в сеанс, выполнив следующие действия: Session ("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

Затем просто выполните любой другой код, который вам нужен, используя это значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...