读书人

asp.net后台如何给URL加密

发布时间: 2012-10-16 09:57:37 作者: rapoo

asp.net后台怎么给URL加密。
hlf.DataNavigateUrlFormatString = "../show?aid={0};


如上,是给gridview的某列的一个链接的aid加密。
要用Base64 的加密方法。

望不吝指教。

[解决办法]
在绑定事件里面实现


hlf.DataNavigateUrlFormatString = "../show?aid=" + Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(DataBinder.Eval(e.Row.DataItem,"aid").ToString()));

HTML code
<%@ Page Language="C#" EnableViewState="true" AutoEventWireup="true" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">    protected void Page_Load(object sender, EventArgs e)    {        if (!IsPostBack)        {            System.Data.DataTable dataTable1 = new System.Data.DataTable("BlogUser");            dataTable1.Columns.Add(new System.Data.DataColumn("Id", typeof(System.Int32)));            dataTable1.Columns.Add(new System.Data.DataColumn("UserName", typeof(System.String)));            Random r = new Random();            for (int i = 0; i < 8; i++)            {                dataTable1.Rows.Add(i, "名称" + i);            }            this.GridView1.DataSource = dataTable1;            this.GridView1.DataBind();        }    }    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)    {        if (e.Row.RowType == DataControlRowType.DataRow)        {            HyperLink h = e.Row.Cells[0].Controls[0] as HyperLink;            h.NavigateUrl = "~/b.aspx?id=" + Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(DataBinder.Eval(e.Row.DataItem, "Id").ToString()));        }    }</script><html xmlns="http://www.w3.org/1999/xhtml"><head id="Head1" runat="server">    <title>dddd</title></head><body>    <form id="form1" runat="server">    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowDataBound="GridView1_RowDataBound">        <Columns>            <asp:HyperLinkField DataTextField="UserName"  />        </Columns>    </asp:GridView>    </form></body></html>
[解决办法]
举一反三呀亲,真得喂到嘴里才能吃么?
C# code
h.NavigateUrl = "~/b.aspx?id=" + Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(DataBinder.Eval(e.Row.DataItem, "Id").ToString())); 

读书人网 >asp.net

热点推荐