作为参考,我使用的是DataTable 2.0.6
我似乎无法让DataTable在Visual Basic中调用aspx webforms中的函数。
这个方法有效:
$.ajax({
type: 'POST',
url: 'Index.aspx/TempGetEmployeeData',
data: JSON.stringify({ Sqloption: 21 }),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (response) {
var parsedjsonChangeLogData = response.d;
$('#TempEmployeeTable').DataTable({
data: parsedjsonChangeLogData
});
}
});
但是这个方法不会:
$('#TempEmployeeTable').DataTable({
ajax: {
type: 'POST',
url: 'Index.aspx/TempGetEmployeeData',
data: JSON.stringify({ Sqloption: 21 }),
contentType: 'application/json; charset=utf-8',
dataType: 'json'
}
});
这是函数。
<WebMethod()>
Public Shared Function TempGetEmployeeData(sqlOption As Integer) As String
Dim dt As New DataTable()
Using connection As New SqlConnection(SQLConnStr)
Using command As New SqlCommand("someStoredProcedure", connection)
command.CommandType = CommandType.StoredProcedure
command.Parameters.AddWithValue("@pOption", sqlOption)
connection.Open()
Using SQLresult As SqlDataReader = command.ExecuteReader()
dt.Load(SQLresult)
End Using
End Using
End Using
Dim jsonResult As String = JsonConvert.SerializeObject(dt)
Return jsonResult
End Function
任何帮助将不胜感激。谢谢你
我尝试删除类型并将其更改为“GET”,删除 contentType,并将 dataType 更改为文本,然后使用 success 函数将其输出到 console.log 中,但输出是整个 html 文件
我也尝试过调试该函数,但它没有转到函数本身。
对于任何想知道的人,sqlOption 现在位于函数中,我使用了以下代码:
$('#TempEmployeeTable').DataTable({
ajax: {
type: 'POST',
url: 'Index.aspx/TempGetEmployeeData',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
dataSrc: function (response) {
return JSON.parse(response.d);
}
}
});