c#通过AJAX调用数据到网页错误

时间:2014-10-14 16:49:21

标签: javascript c# jquery ajax

我试图首次修改我在网上找到的代码片段。我在我的代码中构建了一个html数据表,后面嵌入了来自c#datatable的sql数据。然后我尝试使用AJAX调用将其传递给.aspx页面并将html表字符串传递给标记。我遇到的问题是,当我在htmlTable字符串上断点时,它看起来不错,但是页面出现了一个javascript警告框,说“'错误'”,不知道如何从这一点进行故障排除或出了什么问题随着代码,我已粘贴在下面,任何帮助表示赞赏! 代码背后:

 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()
        {
            try
            {            
            String sp_Name = "USP_TOTAL_ORDERCALLS";
            using (DataTable OrdersCalls = new DataTable())
            {
                OrdersCalls.Columns.Add("Week_Ending");
                OrdersCalls.Columns.Add("Mth");
                OrdersCalls.Columns.Add("Product_Suite");
                OrdersCalls.Columns.Add("Site");
                OrdersCalls.Columns.Add("SalesAction");
                OrdersCalls.Columns.Add("Orders");
                OrdersCalls.Columns.Add("TotalCalls");
                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);
                        SQLConn.Open();

                        SqlDataReader sql_Reader = SQLComm.ExecuteReader();
                        while (sql_Reader.Read())
                        {
                            Object[] row = {
                                               sql_Reader["Week_Ending"].ToString(),
                                               sql_Reader["MTH"].ToString(),
                                               sql_Reader["PRODUCT_SUITE"].ToString(),
                                               sql_Reader["SITE"].ToString(),
                                               sql_Reader["Orders"].ToString(),
                                           };
                            OrdersCalls.Rows.Add(row);
                        }
                    }

                return OrdersCalls;
            }
        }
            }
            catch (Exception)
            {
                throw;
            }
        }

        [WebMethod]
        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;
        }
    }
}

.ASPX页面:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script> 

    <script type="text/javascript">
    //on document ready event (when the dom is ready)
    $(document).ready(function () {
        appendToDiv();
    });

    function appendToDiv() {
        $.ajax({
            type: "POST",
            async: false,  
            contentType: "application/json; charset=utf-8",
            url: "Page_MF.aspx/SendToDiv",
            data: JSON.stringify({}), 
            dataType: "json",
            success: function (data) {

                $('#div-for-upload').append(data.d)
            },
            error: function (result) {
                alert("Error");
            }
        });
    }
</script>
</head>
<body>
    <form id="form1" runat="server">
    <div id="div-for-upload">
   </div>
    </form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

根据您提供的说明,以下是可能性。  1)从htmlTable字符串变量复制值。创建一个HTML页面并将这些内容粘贴到正文部分。如果页面显示信息,请确保表创建没有任何问题。 在提供的解决方案中,您必须关闭表节点。

2)按F12功能键,检查开发人员工具(如Firebug,Chrome开发人员工具)的响应。它应该显示正在从服务器传递给客户端的内容。

e.g. of Firefox firebug response

如果您能看到响应,那么您的数据就在客户端。

3)此条件将我们限制在最终选项,即您正在访问/尝试访问来自响应的数据的错误字段。

希望这有帮助。