如何在VB.NET中的HTTPCookie中使用符号和?
我有一个cookie保存给用户,如下所示如何在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存储他们在上一页中输入的值。我们已经观察到,如果
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)
这对于角色(例如)来说是至关重要的