【发布时间】:2013-10-11 00:11:56
【问题描述】:
我很难弄清楚这一点,但搜索并没有得到任何好的结果。
我用 Jquery 在我的页面中创建了一个 cookie,就像这样
var cookieData = {
tb1Relation: $("#<%= tb1Relation.ClientID %>").val(),
tb2Fname: $("#<%= tb2Fname.ClientID %>").val()
}
$.cookie("Relation", $.param(cookieData));
但是当我进入代码隐藏时,我可以看到那个 cookie,但值没有分开,因为它是编码的,所以它把它当作一个值而不是多个值。所以:
Request.Cookies("Relation")("tb1Relation")
显示为空
和 Request.Cookies("Relation").Value = "tb1Relation%3Dsomething%26tb2Fname%3Dsomethingelse"
据我所知,因为 cookie 是 urlencoded,但我不知道如何为 Request.Cookies 对象取消编码。
我的最后一个案例场景如下,但它很糟糕,我真的想避免这种情况。
Request.Cookies("Relation").Value = HttpUtility.UrlDecode(Request.Cookies("Relation").Value)
Dim cookiesSplit() As String = Request.Cookies("formData2").Value.Split("&")
'Splits the first array entry into id/val - Really lame though
Dim cookieIdVal() As String = cookiesSplit(0).Split("=")
我完全缺少任何更好的解决方案?
编辑:修复了一些代码,因为我看起来好像指向了错误的东西。现在应该更有意义了
【问题讨论】:
标签: javascript jquery asp.net vb.net cookies