如何在VB.NET中的HTTPCookie中使用符号和?

如何在VB.NET中的HTTPCookie中使用符号和?,vb.net,cookies,ampersand,Vb.net,Cookies,Ampersand,我有一个cookie保存给用户,如下所示 Dim searchCookie As HttpCookie = New HttpCookie("SearchCriteria") searchCookie.Item("SearchText") = FullSearchCriteria.SearchText searchCookie.Item("SearchType") = FullSearchCriteria.SearchType SearchText存储他们在上一页中输入的值。我们已经观察到,如果

我有一个cookie保存给用户,如下所示

Dim searchCookie As HttpCookie = New HttpCookie("SearchCriteria")
searchCookie.Item("SearchText") = FullSearchCriteria.SearchText
searchCookie.Item("SearchType") = FullSearchCriteria.SearchType
SearchText存储他们在上一页中输入的值。我们已经观察到,如果cookie中有一个符号(例如Tyne&Wear),那么cookie不会保存后续的值(SearchType)

发生的情况是cookie的输出如下:

SearchText=Tyne &

很明显,符号混淆了饼干。有没有办法防止这种情况发生?

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)

哦!我真是个笨蛋

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)

需要对cookie值进行编码。我不是VB专家,但看起来这是用这个方法完成的

System.Web.HttpUtility.UrlEncode

需要对cookie值进行编码。我不是VB专家,但看起来这是用这个方法完成的

System.Web.HttpUtility.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)
这一点对于字符(如)非常重要。

您可以使用该方法

比如:

imports HttpContext.Current
...
Dim searchCookie As HttpCookie = New HttpCookie("SearchCriteria")
searchCookie.Item("SearchText") = Server.UrlEncode(FullSearchCriteria.SearchText)
searchCookie.Item("SearchType") = Server.UrlEncode(FullSearchCriteria.SearchType)
这对于角色(例如)来说是至关重要的