c# datatable to webpage through AJAX call Error

Posted on 2014-10-14
Last Modified: 2014-10-15
Hi, I am trying to do this for the first time based on modifying a code snippet I found online.  I am building an html data table in my code behind embedding sql data from a c# datatable.  I am then trying to pass it to an .aspx page using an AJAX call and passing the html table string to a <div> tag.  The problem I am having is that when I breakpoint on the htmlTable string it looks good but the page is coming up with a javascript alert box saying 'error', not sure how to troubleshoot from this point or what is wrong with the code, I have pasted below, any assistance is appreciated!!!
Code Behind:
namespace WebApplication3
    public partial class Page_MF : System.Web.UI.Page
        protected void Page_Load(object sender, EventArgs e)

        private static string connTotalOrdersCalls = ConfigurationManager.ConnectionStrings["connTotalOrdersCalls"].ConnectionString;
        public static DataTable reportDT()
            String sp_Name = "USP_TOTAL_ORDERCALLS";
            using (DataTable OrdersCalls = new DataTable())
                using (SqlConnection SQLConn = new SqlConnection(connTotalOrdersCalls))
                    using(SqlCommand SQLComm = new SqlCommand(sp_Name, SQLConn))
                        SQLComm.CommandType = CommandType.StoredProcedure;
                        //SQLComm.Parameters.Add(new SqlParameter("@Site", null);

                        SqlDataReader sql_Reader = SQLComm.ExecuteReader();
                        while (sql_Reader.Read())
                            Object[] row = {
                return OrdersCalls;
            catch (Exception)
        public static String SendToDiv()
            String htmlTable = "<table>";
            DataTable newTable = reportDT();

            for (int i = 0; i < newTable.Rows.Count; i++)
                htmlTable += "<tr>";
                for (int x = 0; x < newTable.Columns.Count; x++)
                    htmlTable += "<td>" + newTable.Rows[i][x] + "</td>";
                htmlTable += "</tr>";
            return htmlTable;

Open in new window

.ASPX Page:
<html xmlns="">
<head runat="server">
    <script src="" type="text/javascript"></script> 
<script type="text/javascript">
    //on document ready event (when the dom is ready)
    $(document).ready(function () {

    function appendToDiv() {
            type: "POST",
            async: false,  
            contentType: "application/json; charset=utf-8",
            url: "Page_MF.aspx/SendToDiv",
            data: JSON.stringify({}), 
            dataType: "json",
            success: function (data) {
            error: function (result) {
    <form id="form1" runat="server">
    <div id="div-for-upload">

Open in new window

Question by:Scarlett72
LVL 52

Accepted Solution

Julian Hansen earned 250 total points
ID: 40381547
And if you change

Open in new window



Open in new window

Does it work?

Your SendToDiv function is returning a string - and you are expecting an object in your AJAX success function


What error are you getting?
Do you have a link?

Other Considerations
Are you sure you want to be appending the response - this will add a new table to the div for each call (keeping the table(s) that are already there) - if you want to update (replace) the table consider


Open in new window

LVL 82

Assisted Solution

leakim971 earned 250 total points
ID: 40381869
replace :
            dataType: "json",
by :
            dataType: "html",

because it look like you're receiving HTML not JSON data

Author Closing Comment

ID: 40382837
Hi what actually resolved this for me was adding the following to my web.config, I think the amount of test data I was using was too large.  

        <jsonSerialization maxJsonLength="50000000">

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Got endorsements from your clients?  Great!  There is almost nothing better than word-of-mouth advertising.  But how can you do that on the internet?  Sure you can make a page for endorsement quotations and list them all, but who is …
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now