zoukankan      html  css  js  c++  java
  • js加密,三种编码方式

      ·escape(69个):*/@+-._0-9a-zA-Z
        ·encodeURI(82个):!#$&’()*+,/:;=?@-._~0-9a-zA-Z
        ·encodeURIComponent(71个):!’()*-._~0-9a-zA-Z
     
    c#解密:
     
       HttpUtility.UrlDecode()
     
    举例1:如果一要在javascript与.net后台代码进行对话,可以这样:
    <script language= "JavaScript " >
    function GoUrl()
    {
    var Name = "中文参数 ";
    location.href = "B.aspx?Name= "+escape(Name);
    }
    </script >
    <body onclick= "GoUrl() " >
    接收:
    string Name = Request.QueryString[ "Name "];
    Response.Write(HttpUtility.UrlDecode(Name));
    要点是:
    将传递的中文参数进行编码,在接收时再进行解码。
     
     
     
    举例2:只有后台之间传递中文参数
     
    解决方案一:
     
    在Web.comfig中配置 是一样的:
    <globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
    页面Header部分也都有
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    真是奇怪,
    只好用了笨办法:
    写参数:
    string strurl = PreUrl + "?word={0}&sort={1}&check={2}";
    strurl = string.Format(strurl, HttpUtility.UrlEncode(this.txtSearchTxt.Text.Trim(), System.Text.Encoding.GetEncoding("GB2312")), this.radioSortDesc.SelectedIndex.ToString(), CheckState.ToString());
    Page.Response.Redirect(strurl);
    //注意编码方式为gb2312
     
     
    读参数:
     
    try
    { if (Page.Request.QueryString["word"] != null)
    { _word = Convert.ToString(HttpUtility.UrlDecode(Page.Request.QueryString["word"], System.Text.Encoding.GetEncoding("GB2312"))); }
    }
    catch { _word = String.Empty; }
    ///注意编码方式为gb2312,与前面对应
     
    解决方案二:
     
    用Javascript!
    写一个方法放在基类页面中
    public void PageLocation(string chineseURL)
    {
    if(chineseURL==null || chineseURL.Trim().Length==0 )
    {return;//还可能不是一个合法的URL Tony 2007/11/15
    }
    Page.ClientScript.RegisterStartupScript(this.GetType(), "AgronetPageLocationTo", "<script type='text/javascript' language='javascript'> window.location.href='"+chineseURL+"';</script>");
    }
    然后在页面中调用
    string strurl = PreUrl + "?word={0}&sort={1}&check={2}";
    strurl = string.Format(strurl, this.txtSearchTxt.Text.Trim(), this.radioSortDesc.SelectedIndex.ToString(), CheckState.ToString());
    PageLocation(strurl);
     
    注意后种方法用了Javasrcipt,实际应用在分页时需要保持中文参数,最好还是用window.Location.Href方法!
    有些事现在不做,一辈子都不会做了
  • 相关阅读:
    关于iterator的一点疑惑
    shuffle()方法
    List简单使用笔记
    Arrays.asList()
    多项式ADT(数组存储多项式系数和指数)笔记
    《数据结构与算法分析C语言描述》源码网盘分享
    C语言实现链表
    typedef的用法
    #ifndef的用法
    mysql创建数据库和数据表模板
  • 原文地址:https://www.cnblogs.com/mengkai/p/4016049.html
Copyright © 2011-2022 走看看