首页 > 解决方案 > 将加密值分配到会话存储中

问题描述

我正在尝试将加密值分配到 .cshtml 文件中的会话存储中。但我不能。每次我都会遇到不同的错误。我得到的错误: Uncaught SyntaxError: Unexpected token ')' , Uncaught SyntaxError: Invalid left-hand side in assignment

<script type="text/javascript">
@{
    string createApplicationRequestPKey =Request.QueryString["cpk"];
    if(createApplicationRequestPKey != null)
    {
                @:sessionStorage.setItem('CreateApplicationRequestPKey', @createApplicationRequestPKey);
                @:location.href = '/';
            }
        }</script>

示例请求:url?cpk=U2FsdGVkX1+S3rsDcNeHuP5g6LokgGx9/xV1QcSVR+g=

标签: javascriptc#session-storage

解决方案


尝试使用 encodeURI 函数javascript

    string createApplicationRequestPKey = encodeURI(Request.QueryString["cpk"]);

如果您c#在服务器端使用 base64 或 urlencode:

    public static string Base64Encode(string plainText) {
      var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
      return System.Convert.ToBase64String(plainTextBytes);
    }
    public static string Base64Decode(string base64EncodedData) {
      var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
      return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
    }

    string encoded = System.Web.HttpUtility.UrlEncode(cpk);

推荐阅读