protected void Page_Load(object sender, EventArgs e) { int echo = Int32.Parse(Request.Params["sEcho"]); int displayLength = Int32.Parse(Request.Params["iDisplayLength"]); int displayStart = Int32.Parse(Request.Params["iDisplayStart"]); int start = displayStart; string search = Request.Params["sSearch"]; /////////// //SEARCH (filter) //- build the where clause //////// StringBuilder sb = new StringBuilder(); ///////////// /// JSON output /// - build JSON output from DB results /// /////////// sb.Clear(); string outputJson = string.Empty; int totalDisplayRecords = 0; int totalRecords = 0; List <Component> components = ComponentDb.Find("", search, (displayStart / displayLength), displayLength, "DESC", "Default", out totalDisplayRecords); totalRecords = components.Count(); foreach (var component in components) { start++; sb.Append("["); sb.Append("\"" + (start) + "\","); sb.Append("\"" + component.AppName + "\","); sb.Append("\"" + component.AppID + "\","); string buttonHtml = string.Format(@"<button type='button' onclick=editComponent('{0}'); class='btn btn-primary btn-xs' >Edit</button>", component.AppID); sb.Append("\"" + buttonHtml + "\""); sb.Append("],"); } outputJson = sb.ToString(); outputJson = outputJson.Remove(outputJson.Length - 1); sb.Clear(); sb.Append("{"); sb.Append("\"sEcho\": "); sb.Append(echo); sb.Append(","); sb.Append("\"iTotalRecords\": "); sb.Append(totalRecords); sb.Append(","); sb.Append("\"iTotalDisplayRecords\": "); sb.Append(totalDisplayRecords); sb.Append(","); sb.Append("\"aaData\": ["); sb.Append(outputJson); sb.Append("]}"); outputJson = sb.ToString(); ///////////// /// Write to Response /// - clear other HTML elements /// - flush out JSON output /// /////////// Response.Clear(); Response.ClearHeaders(); Response.ClearContent(); Response.Write(outputJson); Response.Flush(); Response.End(); }