I have added ASP button to the GridView using the following code:\[code\]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.ComponentModel;using System.Collections;/// <summary>/// Summary description for DynamicTemplate/// </summary>public class DynamicTemplate : System.Web.UI.ITemplate\[/code\]{\[code\]System.Web.UI.WebControls.ListItemType templateType;System.Collections.Hashtable htControls = new System.Collections.Hashtable();System.Collections.Hashtable htBindPropertiesNames = new System.Collections.Hashtable();System.Collections.Hashtable htBindExpression = new System.Collections.Hashtable();public DynamicTemplate(System.Web.UI.WebControls.ListItemType type){ templateType = type;}public void AddControl(WebControl wbControl, String BindPropertyName, String BindExpression){ htControls.Add(htControls.Count, wbControl); htBindPropertiesNames.Add(htBindPropertiesNames.Count, BindPropertyName); htBindExpression.Add(htBindExpression.Count, BindExpression);}public void InstantiateIn(System.Web.UI.Control container){ PlaceHolder ph = new PlaceHolder(); for (int i = 0; i < htControls.Count; i++) { //clone control Control cntrl = CloneControl((Control)htControls); switch (templateType) { case ListItemType.Header: break; case ListItemType.Item: ph.Controls.Add(cntrl); break; case ListItemType.AlternatingItem: ph.Controls.Add(cntrl); ph.DataBinding += new EventHandler(Item_DataBinding); break; case ListItemType.Footer: break; } } ph.DataBinding += new EventHandler(Item_DataBinding); container.Controls.Add(ph);}public void Item_DataBinding(object sender, System.EventArgs e){ PlaceHolder ph = (PlaceHolder)sender; GridViewRow ri = (GridViewRow)ph.NamingContainer; for (int i = 0; i < htControls.Count; i++) { if (htBindPropertiesNames.ToString().Length > 0) { Control tmpCtrl = (Control)htControls; String item1Valuehttp://stackoverflow.com/questions/15497518/= ""; //(String)DataBinder.Eval(ri.DataItem, htBindExpression.ToString()); if (tmpCtrl.ID == "btnEdit") { item1Valuehttp://stackoverflow.com/questions/15497518/= "Edit"; //(String)DataBinder.Eval(ri.DataItem, htBindExpression.ToString()); } else if (tmpCtrl.ID == "btnDelete") { item1Valuehttp://stackoverflow.com/questions/15497518/= "Delete"; //(String)DataBinder.Eval(ri.DataItem, htBindExpression.ToString()); } else { Guid value = http://stackoverflow.com/questions/15497518/new Guid(DataBinder.Eval(ri.DataItem, htBindExpression.ToString()).ToString()); String valueString = value.ToString(); item1Value = valueString; } Control ctrl = ph.FindControl(tmpCtrl.ID); Type t = ctrl.GetType(); System.Reflection.PropertyInfo pi = t.GetProperty(htBindPropertiesNames.ToString()); pi.SetValue(ctrl, item1Value.ToString(), null); } }}private Control CloneControl(System.Web.UI.Control src_ctl){ Type t = src_ctl.GetType(); Object obj = Activator.CreateInstance(t); Control dst_ctl = (Control)obj; PropertyDescriptorCollection src_pdc = TypeDescriptor.GetProperties(src_ctl); PropertyDescriptorCollection dst_pdc = TypeDescriptor.GetProperties(dst_ctl); for (int i = 0; i < src_pdc.Count; i++) { if (src_pdc.Attributes.Contains(DesignerSerializationVisibilityAttribute.Content)) { object collection_val = src_pdc.GetValue(src_ctl); if ((collection_val is IList) == true) { foreach (object child in (IList)collection_val) { Control new_child = CloneControl(child as Control); object dst_collection_val = dst_pdc.GetValue(dst_ctl); ((IList)dst_collection_val).Add(new_child); } } } else { dst_pdc[src_pdc.Name].SetValue(dst_ctl, src_pdc.GetValue(src_ctl)); } } return dst_ctl;}\[/code\]}Code file is ::Bind Method for gridview:\[code\] TemplateField t = new TemplateField(); DynamicTemplate mt = new DynamicTemplate(ListItemType.Item); Button btnEdit = new Button(); btnEdit.ID = "btnEdit"; btnEdit.Visible = true; btnEdit.CommandArgument = PrimaryKey; btnEdit.OnClientClick = "return confirm_Edit();"; btnEdit.Text = " Submit"; btnEdit.CssClass = "EditButton"; btnEdit.Style.Add("margin-right", "5px"); mt.AddControl(btnEdit, "Text", "Edit"); Button btnDelete = new Button(); btnDelete.ID = "btnDelete"; btnDelete.OnClientClick = "return confirm_delete();"; btnDelete.Visible = true; btnDelete.Text = " Submit"; btnDelete.CssClass = "DeleteButton"; mt.AddControl(btnDelete, "Text", "Delete"); t.ItemTemplate = mt; t.HeaderText = "Activity"; GridView1.Columns.Add(t); GridView1.DataSource = dtOutPutResult; GridView1.DataBind();\[/code\]Now i am facing the below problem: how can i add HTML anchor tag on the place of ASP Button to grid view.