2011-08-23 2 views
0

어떻게 설명해야 할 지 모르겠지만 사용자가 작성한 각 페이지의 URL 끝에 사용자의 코드를 추가 할 수 있어야합니다.URL 끝에 특정 사용자 링크 코드 추가하기

나는 사용자입니다. 내 사이트로 이동하여 내 사용자 코드를 입력하십시오. 이것은 로그인이 아닙니다. 이론 상으로는 사용자가 코드를 입력 할 수있는 박스 나 컨트롤이있을 것입니다.

이 컨트롤은 다음과 같은 모든 페이지의 각 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 

UPDATE : 지금이 코드를 사용하고 @DJ 큄비와 인형을위한 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"는 밑줄이 그어져 있고 등호 (=) 부호와 값이 와야한다고 나와 있습니다. 또는 따옴표 안에 있으면 일치해야합니다.

+0

개발중인 환경을 지정하면보다 의미있는 답을 줄 수 있습니다. –

+0

오, 미안 해요, ASP.net 4를 사용하고 있습니다.0 VB – jlg

+1

각 페이지에서 사용할 수 있도록 데이터를 보존하려는 경우 'Session'및 'SessionState'를 사용하는 것이 더 적합 할 수 있습니다. –

답변

0

개인 정보가 걱정된다면 사용자 코드를 세션에 저장하는 것이 가장 좋습니다.

당신은 다음을 수행하여 세션에 당신이 원하는 대부분의 모든 변수를 추가 할 수 있습니다 세션 ("userCode") = "12"

을 그리고 이런 식으로 검색 :

'희미한 userCode 정수로' 'userCode = Session ("userCode")'

사용자가 저장 한 유형이 해당 유형을 원래 상태로 되돌릴 때 할당 한 유형과 호환되는지 확인하십시오.

는 값을 저장하기 위해 페이지 내에서 개인 변수를 선언 할 수 각 페이지에 확인하려면
Private userCode As Integer

그리고 userCode = Session("userCode")
End Sub

가 그럼 그냥 실행 후
Sub Page_Load(sender As Object, e As EventArgs)
을 다른 어떤 코드를 사용해야합니다.

+0

그래서 방문한 모든 페이지가 사용자가 텍스트 상자에 입력 한 값을 반환하는지 어떻게 확인할 수 있습니까? – jlg

+0

@jlg 내 첫 글을 편집하여 질문에 답변했습니다. –

+0

감사합니다 !!! :) – jlg

관련 문제