当前位置:编程学习 > C#/ASP.NET >>

asp.net中超链接传值怎么给url加密

http://wenwen.zzzyk.com/z/AskQuestion.e?sp=0&sp=Sasp.net%E4%B8%AD%E8%B6%85%E9%93%BE%E6%8E%A5%怎么给url加密 在后台写代码知道怎么写了 如果是<a href="sss.aspx?id=sss"> 该怎么搞?
追问:晕  啊   大哥 你看清楚 啊   在后台我知道怎么搞  问题是用<a></a> 超链接怎么搞啊 

答案:像这样的加密方法有很多种!我告诉你用base64的编码和解码的方法。具体方法如下:

我们在一个类里面写base64的编码和解码的方法(charset.cs)
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;


//base64编码
public string base64Encode(string str)
{
  byte[] bb=Encoding.UTF8.GetBytes(str);
  return Convert.ToBaseString(bb);
}
//base64解码,参数2:字符格式 如:gb2312
public string base64Decode(string base64str,string codename)
{
    byte[] bb=Comvert.FormBase64String(base64str);
    return Enconding.GetEncoding(codename).GetString(bb);
}
------------------------------------------------------------------
好这个类就是这样写的了  那我们怎么用呢 下面就是一个页面的跳转了 :
Response.Redirect("order.aspx?money="+cs.base64Encode(Label5.Text)+"&count="+cs.base64Encode(Label1.Text)+"&orderID="+cs.base64Encode(orderID.ToString()));
好那我们下个页面怎么接收呢 这里我就就要用到上面定义的第二个方法了

                    charset cs = new charset();
                    string money = cs.base64Decode(Request["money"].ToString(), "utf-8");
                    string count = cs.base64Decode(Request["count"].ToString(), "utf-8");
                    string orderid = cs.base64Decode(Request["orderid"].ToString(), "utf-8");

加密System.Web.HttpUtility.UrlEncode(url)

解密System.Web.HttpUtility.UrlDecode(url)

如果a 标签里面的路径是固定死的, 那你就 把加密的 url放进去就是了,

如果是动态绑定的, 就在绑定时 先加密在绑定

上一个:asp.net中返回值到底是什么意思
下一个:ASP.Net中使用javascript验证是否为空

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,