This Way:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Id", typeof(int));
dt.Rows.Add("Azim", 1);
dt.Rows.Add("Amit", 1);
dt.Rows.Add("Ajay", 1);
this.DataList1.DataSource = dt;
this.DataList1.DataBind();
}
}
protected void DataList1_OnRowDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string name = ((Label)e.Item.FindControl("lblName")).Text;
string id = ((Label)e.Item.FindControl("lblId")).Text;
(e.Item.FindControl("lnkView") as HyperLink).NavigateUrl = "CS2.aspx?BehCode=" + Encrypt(name) + "&Id=" + Encrypt(id);
}
}
private string Encrypt(string clearText)
{
string EncryptionKey = "MAKV2SPBNI99212";
byte[] clearBytes = Encoding.Unicode.GetBytes(clearText);
using (Aes encryptor = Aes.Create())
{
Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(EncryptionKey, new byte[] { 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76 });
encryptor.Key = pdb.GetBytes(32);
encryptor.IV = pdb.GetBytes(16);
using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms, encryptor.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(clearBytes, 0, clearBytes.Length);
cs.Close();
}
clearText = Convert.ToBase64String(ms.ToArray());
}
}
return clearText;
}
HTML:
<asp:DataList ID="DataList1" runat="server" OnItemDataBound="DataList1_OnRowDataBound"
AutoGenerateColumns="false">
<ItemTemplate>
<asp:Label ID="lblName" Text='<%# Eval("Name") %>' runat="server" />
<asp:Label ID="lblId" Text='<%# Eval("Id") %>' runat="server" />
<asp:TemplateField>
<itemtemplate>
<asp:HyperLink ID="lnkView" runat="server" Target="_blank">View</asp:HyperLink>
</itemtemplate>
</asp:TemplateField>
</ItemTemplate>
</asp:DataList>
Thank You.