在asp.net代码中读取编码的url

时间:2012-04-20 02:24:13

标签: c# javascript asp.net urlencode

我正在使用此编码/解码javascript 64bit http://www.webtoolkit.info/javascript-base64.html

所以这里是scanrio:从JavaScript我重定向到一个新的aspx页面,在page_load上我正在读取QueryString id。

一切正常,但问题是,如果我想在代码隐藏的asp.net中编码/解码我该怎么办?

我计划在从.JS重定向到页面之前进行编码,但是如何阅读后面编码的asp.net代码呢?

1 个答案:

答案 0 :(得分:1)

  

一切正常,但问题是,如果我愿意的话   在代码隐藏的asp.net中编码/解码我该怎么做?

在后面的代码中使用以下方法进行编码和解码。

static public string DecodeFrom64(string encodedData)
{
    byte[] encodedDataAsBytes
        = System.Convert.FromBase64String(encodedData);
    string returnValue =
        System.Text.ASCIIEncoding.ASCII.GetString(encodedDataAsBytes);
    return returnValue;
}

static public string EncodeTo64(string toEncode)
{
    byte[] toEncodeAsBytes
            = System.Text.ASCIIEncoding.ASCII.GetBytes(toEncode);
    string returnValue
            = System.Convert.ToBase64String(toEncodeAsBytes);
    return returnValue;
}
  

我打算在从.JS重定向到页面之前编码,但是如何   我会阅读编码后的asp.net代码吗?

您可以使用JS调用DecodeFrom64方法解码编码文本。

测试:

 input = "Abu Hamzah"
 JS encoded text = "QWJ1IEhhbXphaA=="

DecodeFrom64("QWJ1IEhhbXphaA==")结果为"Abu Hamzah"EncodeTo64("Abu Hamzah")结果为"QWJ1IEhhbXphaA==",符合预期。

修改

添加base64编码解码java脚本

<script type="text/javascript" src="/js/webtoolkit.base64.js">

您可以从这里下载http://www.webtoolkit.info/djs/webtoolkit.base64.js

在您的javascript中,您可以按以下方式调用此方法

window.location.href="mypage.aspx?id=" + Base64.encode('Test');

如果要从服务器端解码此查询字符串参数,则可以使用DecodeFrom64方法