Javascript 使用asp.net webMethod的jquery datatables服务器端ajax
我在ASP.net非MVC项目中使用jquery Datatables 1.10.13,其中GridBooksList是一个DataTable,通过Ajax调用请求GetBooks方法 通过使用Datatables服务器端Ajax调用调用GetBooks方法并没有成功。获取错误: 表id=GridBooksList-为第“0”行第1列请求的未知参数“1” 以下是我正在使用的代码: PageLibrary.aspx PageLibrary.aspx.csJavascript 使用asp.net webMethod的jquery datatables服务器端ajax,javascript,jquery,asp.net,ajax,datatable,Javascript,Jquery,Asp.net,Ajax,Datatable,我在ASP.net非MVC项目中使用jquery Datatables 1.10.13,其中GridBooksList是一个DataTable,通过Ajax调用请求GetBooks方法 通过使用Datatables服务器端Ajax调用调用GetBooks方法并没有成功。获取错误: 表id=GridBooksList-为第“0”行第1列请求的未知参数“1” 以下是我正在使用的代码: PageLibrary.aspx PageLibrary.aspx.cs 您的问题可能在于您在“此处的sql查询”中
您的问题可能在于您在“此处的sql查询”中省略的sql。您能提供实际使用的sql查询吗?sql查询没有问题,因为它在booklist中返回数据。我们通过放置断点看到。。sql查询是SELECT name,serial,author from table_books。为客户端控制台以及您的C IDE(我猜是VIsual Studio)启用中断异常可能是值得的?通过这种方式,您可以看到导致错误的原因以及可能的解决方法。问题是Ajax调用没有命中C中的GetBooks方法。SQL查询工作正常,我通过调用第_Load页上的GetBooks方法进行了检查。在开发人员工具的console/network选项卡中,您是否看到对WebMethod的请求?
<table id="GridBooksList" class="table table-bordered" style="text-align: center; width: 100%">
<thead style="background-color: #336699; color: white;">
<tr>
<th style="width:20%;">
<asp:Label ID="lblName" runat="server" Text="Name"></asp:Label>
</th>
<th style="width:10%;">
<asp:Label ID="lblIdentityNo" runat="server" Text="Serial No."></asp:Label>
</th>
<th style="width:10%;">
<asp:Label ID="lblNationality" runat="server" Text="Author"></asp:Label>
</th>
</tr>
</thead>
<tbody id="table-tbody">
</tbody>
<script>
try{
$('#GridBooksList').DataTable({
"bServerSide": true,
"bProcessing": true,
"sAjaxSource": "PageLibrary.aspx/GetBooks",
"data": "{'FromDate':'" + fromdate + "','ToDate':'" + todate + "'}",
"aoColumns": [
{ "sName": "NAME" },
{ "sName": "SERIAL_NUMBER"},
{ "sName": "AUTHOR" }
]
});
}catch(ee)
{
//getting error here//
//table id=GridBooksList - Requested unknown parameter '1' for row '0', column1
}
</script>
//Model Class //
public class BookDetail
{
public string NAME { get; set; }
public string SERIAL_NUMBER { get; set; }
public string AUTHOR { get; set; }
}
[WebMethod]
public static string GetBooks(string FromDate, string ToDate)
{
try
{
// getting data from database server here //
List<BookDetail> booklist = ENT.Database.SqlQuery<BookDetail>('sql query here').ToList();
JavaScriptSerializer JavaScriptSerializer = new JavaScriptSerializer();
return JavaScriptSerializer.Serialize(booklist);
}
catch
{
return null;
}
}