Sunday, November 6, 2011

How to get HTML of control before render event

Suppose we have to show grid from ajax request than we can bind grid by data base and get its HTML structure. Code is bellow
GridView gv = new GridView();
      gv.AutoGenerateColumns = true;         //Your Logic to fill dataset/datatable       
      DataTable dt = new DataTable();
      dt.Columns.Add(new DataColumn("Index"));
      dt.Columns.Add(new DataColumn("Name"));
      for (int i = 0; i < 10; i++) { DataRow row = dt.NewRow(); row["Index"] = i; row["Name"] = "dummyData" + i.ToString(); dt.Rows.Add(row); }
      //bind the gridview        
      gv.DataSource = dt;
      gv.DataBind();
      //get the rendered HTML       
      StringBuilder sb = new StringBuilder();
      StringWriter writer = new StringWriter(sb);
      HtmlTextWriter txt = new HtmlTextWriter(writer);
      gv.RenderControl(txt);
      return sb.ToString();

No comments: