【问题标题】:vb.net outputting javascript array/object for datatables.netvb.net 为 datatables.net 输出 javascript 数组/对象
【发布时间】:2015-11-12 19:22:23
【问题描述】:

大家好,我正在尝试将我的数据返回到 datatable.net 表。我正在查看他们提供的示例 HERE。查看 Chrome 调试控制台时,数据返回如下:

0: "["111","1/30/2016 12:00:00 AM","10:00 a.m.-2:00 p.m. ","College ","5600 Road, Suite E3 ","37987","33.0090696,-81.21471799999999","theTown","TN","Hamilton ","","blank","1/14/2015 12:00:00 AM","Blank","10/22/2015 10:00:57 AM"],
    ["110","1/29/2016 12:00:00 AM","12:30 p.m.-7:00 p.m. ","College ","5600 Road, Suite E3 ","37045","31.0090696,-80.21471799999999","theTown","TN","Hamilton ","","blank","1/13/2015 12:00:00 AM","Blank","10/22/2015 10:00:57 AM"],
    ["109","1/28/2016 12:00:00 AM","12:30 p.m.-7:00 p.m. ","College ","5600 Road, Suite E3 ","37899","32.0090696,-87.21471799999999","theTown","TN","Hamilton ","","blank","1/12/2015 12:00:00 AM","Blank","10/22/2015 10:00:57 AM"],
    ["108","1/27/2016 12:00:00 AM","12:30 p.m.-7:00 p.m. ","College ","5600 Road, Suite E3 ","37411","22.0090696,-84.2240999999","theTown","TN","Hamilton ","","blank","1/11/2015 12:00:00 AM","Blank","10/22/2015 10:00:57 AM"],
    etc etc...."

我使用的JS是这样的:

$.ajax({
   url: 'default.aspx?Data=viewData&cache=' + nocache,
   dataType: 'text',
   type: 'GET',
   success: function (dataSet) {
        var dataT = [dataSet];
        console.log(dataT);
        $('#databaseName').html('<strong>Data </strong> for <strong>FEB</strong> Form <strong>' + dbName + '</strong></h3>');
        $('#theDataTable').DataTable({
            data: dataT,
            columns: [
                 { title: "Venue ID" },
                 { title: "Venue Date" },
                 { title: "Venue Time" },
                 { title: "Venue Name" },
                 { title: "Venue Address" },
                 { title: "Venue Zip" },
                 { title: "Venue Address" },
                 { title: "Venue Lat/Lng" },
                 { title: "Venue City" },
                 { title: "Venue State" },
                 { title: "Venue County" },
                 { title: "Venue Advocate" },
                 { title: "in Spanish?" },
                 { title: "Last Updated" },
                 { title: "Updated By" }
            ]
        });
   }
});

页面上的输出如下所示:

我做错了什么?如何修复它以使数据正确排列?

服务器端代码:

Dim _tmpHtml As String = Nothing

theQuery = "SELECT * " & _
           "FROM markers " & _
           "ORDER BY venueID DESC;"

sqlQ = New SqlCommand(theQuery, conn)
reader = sqlQ.ExecuteReader

If reader.HasRows Then
   While reader.Read()
       _tmpHtml += "["
       _tmpHtml += """" & EscapeLikeValue(reader("venueID").ToString()) & ""","
       _tmpHtml += """" & EscapeLikeValue(reader("venueEventDate").ToString()) & ""","
       _tmpHtml += """" & EscapeLikeValue(reader("venueTime").ToString()) & ""","
       _tmpHtml += """" & EscapeLikeValue(reader("venueName").ToString()) & ""","
       _tmpHtml += """" & EscapeLikeValue(reader("venueAddress").ToString()) & ""","
       _tmpHtml += """" & EscapeLikeValue(reader("venueZip").ToString()) & ""","
       _tmpHtml += """" & EscapeLikeValue(reader("venueLatLong").ToString()) & ""","
       _tmpHtml += """" & EscapeLikeValue(reader("venueCity").ToString()) & ""","
       _tmpHtml += """" & EscapeLikeValue(reader("venueState").ToString()) & ""","
       _tmpHtml += """" & EscapeLikeValue(reader("venueCounty").ToString()) & ""","
       _tmpHtml += """" & EscapeLikeValue(reader("venueAdvocate").ToString()) & ""","
       _tmpHtml += """" & EscapeLikeValue(reader("venueSpanish").ToString()) & ""","
       _tmpHtml += """" & EscapeLikeValue(reader("lastUpdated").ToString()) & ""","
       _tmpHtml += """" & EscapeLikeValue(reader("updatedBy").ToString()) & ""","
       _tmpHtml += """" & EscapeLikeValue(reader("syssrcloaddt").ToString()) & """"
       _tmpHtml += "],"
       records += 1
   End While

   _tmpHtml = _tmpHtml.Trim().Remove(_tmpHtml.Length - 1)

   reader.Close()
   sqlQ = Nothing
   conn.Close()
   conn = Nothing

   'Dim serializer As New JavaScriptSerializer()
   'Dim jsonString As String = serializer.Serialize(_tmpHtml)

   Return _tmpHtml
Else
   .......
End If

【问题讨论】:

  • 您的响应可能不是有效的 JSON,很难说。展示如何在服务器上生成响应。
  • @Gyrocode.com 更新了 OP 以向您显示该代码,
  • 您应该停止手动生成 JSON,有很多方法可以自动生成,请参阅this。一旦你返回一个应该是数组的有效 JSON,使用 data: dataSet 作为 jQuery DataTables 初始化选项。
  • @Gyrocode.com 您介意用一些代码分享答案以显示您对我的问题的更正吗?我认为在我的 vb 代码中使用序列化 json 不会像预期的那样正确格式化它?

标签: javascript jquery asp.net vb.net datatables


【解决方案1】:

我不知道你在做什么。但这对你有帮助吗, 你可以这样做 你能把你的json代码放在​​vb的2个文本框中吗? 并遍历该值并添加每个项目。

val1 = "textbox1.txt" & + &"loopvalue" & + &" textbox2.txt"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    • 2019-10-22
    • 2014-02-19
    相关资源
    最近更新 更多