我试图首次修改我在网上找到的代码片段。我在我的代码中构建了一个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>
答案 0 :(得分:0)
根据您提供的说明,以下是可能性。 1)从htmlTable字符串变量复制值。创建一个HTML页面并将这些内容粘贴到正文部分。如果页面显示信息,请确保表创建没有任何问题。 在提供的解决方案中,您必须关闭表节点。
2)按F12功能键,检查开发人员工具(如Firebug,Chrome开发人员工具)的响应。它应该显示正在从服务器传递给客户端的内容。
如果您能看到响应,那么您的数据就在客户端。
3)此条件将我们限制在最终选项,即您正在访问/尝试访问来自响应的数据的错误字段。
希望这有帮助。