C# 使用JQuery和cookie插件创建具有非url编码值的cookie

C# 使用JQuery和cookie插件创建具有非url编码值的cookie,c#,javascript,jquery,asp.net,C#,Javascript,Jquery,Asp.net,我在客户端创建了一个cookie,并在其中添加了3个由逗号分隔的字符串值。字符串具有特殊字符。问题是,当我在代码隐藏中获取cookie的值时,cookie的值如下所示:- 4%2CHealth%20Related%2C%2Fmysite%2FYourKB%2FHealth-Related 我想去掉这些%符号和值。。替换这些字符是唯一的方法吗?如何使我的cookie不包含这些值,而只包含一些特殊字符的简单文本 编辑1 我现在正在创建这样的cookie,但问题仍然存在。请帮帮我 $.cookie(

我在客户端创建了一个cookie,并在其中添加了3个由逗号分隔的字符串值。字符串具有特殊字符。问题是,当我在代码隐藏中获取cookie的值时,cookie的值如下所示:-

4%2CHealth%20Related%2C%2Fmysite%2FYourKB%2FHealth-Related
我想去掉这些%符号和值。。替换这些字符是唯一的方法吗?如何使我的cookie不包含这些值,而只包含一些特殊字符的简单文本

编辑1

我现在正在创建这样的cookie,但问题仍然存在。请帮帮我


$.cookie('mycokie',unescape(myString),{path:'/'},{expires:30})

为了完整起见,这些%xx个字符是url中不允许的某些字符的url编码

因此:%2C是逗号,%2F是正斜杠

考虑到这一点,您在哪里再次检查cookie的值

此代码起作用,并作为警报提供正确的值:

<html>
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"> </script>
    <script src="https://raw.github.com/carhartl/jquery-cookie/master/jquery.cookie.js"></script>
  </head>
  <body>
<script language="javascript">
<!--
$(function(){
  var myString = '4%2CHealth%20Related%2C%2Fmysite%2FYourKB%2FHealth-Related';
  $.cookie('MyCookie', unescape(myString) );
  alert($.cookie('MyCookie'));
    });
-->
</script>
  </body>
</html>

因此,上面的代码基本上可以工作,但是如果您在服务器上进行检查,请确保您的服务器端技术也能解码值。在ASP.NET中,当您调用Request.Cookies[“MyCookie”].Value时,会自动执行此操作。但是,如果浏览器仅将其作为url编码的值进行传输,则必须在服务器上再次对其进行解码


亚历克斯

我知道这条线很古老,但我只是偶然发现了这条线,并偶然发现了这条线。将其设置为
true
为我解决了这个问题。

您也可以考虑使用jquery的cookie插件。@Cliff:我就是这么用的。