2009-12-02 2 views
1

...어떻게 VB.NET의 HTTPCookie에서 앰퍼샌드를 사용합니까? 나는 다음과 같이 사용자에게 저장된 쿠키가

Dim searchCookie As HttpCookie = New HttpCookie("SearchCriteria") 
searchCookie.Item("SearchText") = FullSearchCriteria.SearchText 
searchCookie.Item("SearchType") = FullSearchCriteria.SearchType 

검색 텍스트를 저장 값은 그들이 이전 페이지에서 입력을 가지고있다. 쿠키에 앰퍼샌드가있는 경우 (예 : Tyne & 착용) 관찰 한 결과 쿠키는 후속 값 (SearchType)을 저장하지 않습니다.

SearchText=Tyne & 

은 분명히 앰퍼샌드 쿠키를 혼란 : 어떻게됩니까

쿠키는이 같은 출력입니다. 이런 일이 발생하지 않도록하는 방법이 있습니까?

답변

5

당신은 URLEncode 방법을 사용할 수 있습니다 함께 할 것 같습니다. 같은

뭔가 :

imports HttpContext.Current 
... 
Dim searchCookie As HttpCookie = New HttpCookie("SearchCriteria") 
searchCookie.Item("SearchText") = Server.UrlEncode(FullSearchCriteria.SearchText) 
searchCookie.Item("SearchType") = Server.UrlEncode(FullSearchCriteria.SearchType) 

이것은 ampersands breaking them 같은 문자 only certain characters are allowed in cookies으로 필수적이다.

1

D' oh! 나는 값이 필요로하는 쿠키를 인코딩 할

Dim searchCookie As HttpCookie = New HttpCookie("SearchCriteria") 
searchCookie.Item("SearchText") = HttpContext.Current.Server.UrlEncode(FullSearchCriteria.SearchText) 
searchCookie.Item("SearchType") = HttpContext.Current.Server.UrlEncode(FullSearchCriteria.SearchType) 
1

... 그런 촌놈입니다. 나는 더 VB 전문가는 아니지만,이 방법

System.Web.HttpUtility.UrlEncode 
관련 문제