jqGrid, ASP.NET JSON macht mich verrückt. Bitte Helfen

Ich habe versucht, diese für Tage auf Tage und es scheint, als ob eine Sache nach der anderen. Zunächst habe ich schließlich verfolgt es unten zu Schwierigkeiten beim ASP.NET Termine in den JSON-string zurück an das Netz. Ich bin jetzt mit JSON.NET und die Termine kommen wieder die Art, wie Sie sein sollten bin ich stecken geblieben, wo ich immer zu sein scheinen. Hier ist mein code, zurückgegebene json-string, und jqGrid-code: (tut mir Leid, es ist so lange, aber ich wollte nicht zu lassen, was in Fall, dass war der Teil, der Schrauben mich)! Im Grunde bin ich ständig stecken in der Erfolgs-Methode des ajax-Aufrufs, in dem ich versuche zu addJSONData.... ab jetzt bin ich immer eine Fehlermeldung vom Firebug, die sagt:
ungültige Objekt-id
({Gesamt:1,Seite:1,Sätze:5,[{"ROWID":1,"...rName":"BCC","SubmitterID":"BCC4010","Su

JEDE HILFE WÄRE ALSO SEHR WILLKOMMEN! Ich Wollen, dieses plug-in so sehr, aber ich werde mich absolut Nüsse, die versuchen, damit es funktioniert!


Vielen Dank im Voraus, Briana 🙂

WebMethod:
<WebMethod()> _
    <Script.Services.ScriptMethod(UseHttpGet:=False, ResponseFormat:=ResponseFormat.Json)> _
    Public Function GetTableData() As String
        Dim objController As New TradingPartnersController
        Dim gv_page As String = String.Empty
        Dim sidx As String = String.Empty
        Dim sord As String = String.Empty
        Dim start As String = String.Empty
        Dim limit As String = String.Empty
        Dim row As String = String.Empty
        Dim header As String = String.Empty
        Dim count As Integer = 0
        Dim total_pages As Integer = 0

        gv_page = HttpContext.Current.Request.Form("page")  '.Form("page")
        ' get the requested page 
        limit = HttpContext.Current.Request.Form("rows")
        ' get how many rows we want to have into the grid 
        sidx = HttpContext.Current.Request.Form("sidx")
        ' get index row - i.e. user click to sort 
        sord = HttpContext.Current.Request.Form("sord")
        ' get the direction 
        If String.IsNullOrEmpty(sidx) Then
            sidx = "PartnerID"

        End If

        If String.IsNullOrEmpty(sord) Then
            sord = "ASC"

        End If

        If String.IsNullOrEmpty(limit) Then
            limit = 10

        End If

        '' connect to the database 
        'GridView1.DataSource = objController.ListAll()
        'GridView1.DataBind()

        Dim objCollection As List(Of TradingPartnersInfo) = objController.ListAll()
        count = objCollection.Count

        If count > 0 Then
            total_pages = Math.Ceiling(count /Int32.Parse(limit))
        Else
            total_pages = 0
        End If

        If gv_page Is Nothing Then
            gv_page = 1
        End If
        If Not gv_page > total_pages Then
            gv_page = total_pages
        End If

        start = Math.Ceiling(Int32.Parse(limit) * (Int32.Parse(gv_page) - Int32.Parse(limit)))
        If start < 1 Then start = 1
        Dim objPageCollection As List(Of TradingPartnersInfo) = objController.ListTradingPartners(sidx, sord, Int32.Parse(start), Int32.Parse(limit))
        Dim json As New StringBuilder
        json.Append("{")
        json.Append("total:" & total_pages.ToString & ",")
        json.Append("page:" & gv_page.ToString & ",")
        json.Append("records:" & count.ToString & ",")
        json.Append(JsonConvert.SerializeObject(objPageCollection))
        json.Append("}")
        Return json.ToString

    End Function


Here is the jqGrid code:  


jQuery('table.scroll').jqGrid({  
    jsonReader: {  
        root: "rows", //arry containing actual data  
        page: "page", //current page  
        total: "total", //total pages for the query  
        records: "records", //total number of records  
        repeatitems: false,  
        id: "ID" //index of the column with the PK in it   
    },  
    datatype: function(postdata) {  
        jQuery.jmsajax({  
            type: "POST",  
            url: "EDI.asmx",  
            method: "GetTableData",  
            dataType: "msjson",  
            data: {},  
            complete: function(data) {  
                var mygrid = jQuery('table.scroll')[0];  
                var result = (eval("(" + data.responseText + ")"));  
                var myjsongrid = (jeval(result.d));  
                alert(myjsongrid.rows);  
                mygrid.addJSONData(jeval(myjsongrid.rows));  //This is ERROR LINE

                myjsongrid = null;  
                myjsongridParsed = null;  
                result = null;  
            },  
            success: function(data) {  
                alert('success: ' + data);  
            },  
            error: function(xhr) {  
                var res = xhr.responseText;  
                alert(res);  
            }  
        });  
    },  
    colNames: [
                    "ROWID",
                    "ID",
                    "PartnerID",
                        "Direction",
                        "InterchangeVersion",
                        "InterchangeSenderID",
                        "InterchangeReceiverID",
                        "ProductionMode",
                        "SubmitterName",
                        "SubmitterID",
                        "SubmitterPOC",
                        "CommQual",
                        "CommNumber",
                        "ReceiverName",
                        "ReceiverID",
                        "PartnerType",
                        "PartnerNotes",
                        "IncomingSP",
                        "OutgoingSP",
                        "ExchangeAck",
                        "isDeleted",
                        "DateTimeInserted",
                        "KeyID"
                    ],

    colModel: [
                { name: "ROWID",
                    width: 1,
                    hidden: true,
                    key: false,
                    sorttype: 'int',
                    editrules: { searchhidden: false,
                        hidedlg: true,
                        index: 'ROWID',
                        jsonmap: 'ROWID'
                    }
                },

                { name: "ID",
                    width: 1,
                    hidden: true,
                    key: true,
                    sorttype: 'int',
                    editrules: { searchhidden: true,
                        hidedlg: false,
                        index: 'ID',
                        jsonmap: 'ID'
                    }
                },

                { name: "PartnerID",
                    width: 50,
                    resizable: true,
                    sortable: true,
                    sorttype: 'text',
                    editable: true,
                    edittype: 'text',
                    editrules: { required: true,
                        index: 'PartnerID',
                        jsonmap: 'PartnerID',
                        label: 'PartnerID',
                        resizable: true,
                        search: true
                    }
                },
                    { name: "Direction",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: 'select',
                        editoptions: { value: "I:O" },
                        editrules: { required: true,
                            index: 'Direction',
                            jsonmap: 'Direction',
                            label: 'Direction',
                            resizable: true,
                            search: true
                        }
                    },

                    { name: "InterchangeVersion",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: 'select',
                        editoptions: { value: "004010X098A1:004010X097A1:004010X096A1:004010X098A:004010X097A:004010X096A" },
                        editrules: { required: true,
                            index: 'InterchangeVersion',
                            jsonmap: 'InterchangeVersion',
                            label: 'InterchangeVersion',
                            resizable: true, search: true
                        }
                    },

                    { name: "InterchangeSenderID",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: 'text',
                        editrules: { required: true,
                            index: 'InterchangeSenderID',
                            jsonmap: 'InterchangeSenderID',
                            label: 'InterchangeSenderID',
                            resizable: true,
                            search: true
                        }
                    },

                    { name: "InterchangeReceiverID",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: 'text',
                        editrules: { required: true,
                            index: 'InterchangeReceiverID',
                            jsonmap: 'InterchangeReceiverID',
                            label: 'InterchangeReceiverID',
                            resizable: true,
                            search: true
                        }
                    },

                    { name: "ProductionMode",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: 'select',
                        editoptions: { value: "T:P" },
                        editrules: { required: true,
                            index: 'ProductionMode',
                            jsonmap: 'ProductionMode',
                            label: 'ProductionMode',
                            resizable: true,
                            search: true
                        }
                    },

                    { name: "SubmitterName",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: 'text',
                        editrules: { required: true,
                            index: 'SubmitterName',
                            jsonmap: 'SubmitterName',
                            label: 'SubmitterName',
                            resizable: true,
                            search: true
                        }
                    },

                    { name: "SubmitterID",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: 'text',
                        editrules: { required: true,
                            index: 'SubmitterID',
                            jsonmap: 'SubmitterID',
                            label: 'SubmitterID',
                            resizable: true,
                            search: true
                        }
                    },

                    { name: "SubmitterPOC",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: 'text',
                        editrules: { required: true,
                            index: 'SubmitterPOC',
                            jsonmap: 'SubmitterPOC',
                            label: 'SubmitterPOC',
                            resizable: true,
                            search: true
                        }
                    },

                    { name: "CommQual",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: "select",
                        editoptions: { value: "ED:EM:FX:TE" },
                        editrules: { required: false,
                            index: 'CommQual',
                            jsonmap: 'CommQual',
                            label: 'CommQual',
                            resizable: true,
                            search: true
                        }
                    },

                    { name: "CommNumber",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: 'text',
                        editrules: { required: false,
                            index: 'CommNumber',
                            jsonmap: 'CommNumber',
                            label: 'CommNumber',
                            resizable: true,
                            search: true
                        }
                    },

                    { name: "ReceiverName",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: 'text',
                        editrules: { required: true,
                            index: 'ReceiverName',
                            jsonmap: 'ReceiverName',
                            label: 'ReceiverName',
                            resizable: true,
                            search: true
                        }
                    },

                    { name: "ReceiverID",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: 'text',
                        editrules: { required: true,
                            index: 'ReceiverID',
                            jsonmap: 'ReceiverID',
                            label: 'ReceiverID',
                            resizable: true,
                            search: true
                        }
                    },

                    { name: "PartnerType",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: "select",
                        editoptions: { value: "Clearinghouse:PPO:Both" },
                        editrules: { required: true,
                            index: 'PartnerType',
                            jsonmap: 'PartnerType',
                            label: 'PartnerType',
                            resizable: true,
                            search: true
                        }
                    },

                    { name: "PartnerNotes",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: 'textarea',
                        editrules: { required: false,
                            index: 'PartnerNotes',
                            jsonmap: 'PartnerNotes',
                            label: 'PartnerNotes',
                            resizable: true,
                            search: true
                        }
                    },

                    { name: "IncomingDataPrepSP",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: 'text',
                        editrules: { required: false,
                            index: 'IncomingDataPrepSP',
                            jsonmap: 'IncomingDataPrepSP',
                            label: 'IncomingDataPrepSP',
                            resizable: true,
                            search: true
                        }
                    },

                    { name: "OutgoingDataPrepSP",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: 'text',
                        editrules: { required: false,
                            index: 'OugoingDataPrepSP',
                            jsonmap: 'OugoingDataPrepSP',
                            label: 'OutgoingDataPrepSP',
                            resizable: true,
                            search: true
                        }
                    },

                    { name: "ExchangeAck",
                        width: 50,
                        resizable: true,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: "select",
                        editoptions: { value: "True:False" },
                        editrules: { required: true,
                            index: 'ExchangeAck',
                            jsonmap: 'ExchangeAck',
                            label: 'ExchangeAck',
                            resizable: true,
                            search: true
                        }
                    },

                    { name: "isDeleted",
                        width: 5,
                        resizable: false,
                        sortable: true,
                        sorttype: 'text',
                        editable: true,
                        edittype: "select",
                        editoptions: { value: "Yes:No" },
                        editrules: { required: true,
                            index: 'isDeleted',
                            jsonmap: 'msg.d.isDeleted',
                            label: 'isDeleted',
                            resizable: true,
                            search: true
                        }
                    },

                      { name: "DateTimeInserted",
                          width: 20,
                          hidden: false,
                          datefmt: 'Y-m-d',
                          sorttype: 'date',
                          editable: false,
                          editrules: { index: 'DateTimeInserted',
                              jsonmap: 'DateTimeInserted',
                              label: 'DateTimeInserted',
                              resizable: true,
                              search: true
                          }
                      },

                    { name: "KeyID",
                        width: 5,
                        hidden: true,
                        key: false,
                        sorttype: 'int',
                        editrules: { index: 'KeyID',
                            jsonmap: 'KeyID',
                            hidedlg: true,
                            label: 'KeyID',
                            resizable: false,
                            search: false
                        }
                    }
                ],
    height: 400,
    shrinkToFit: true,
    pager: jQuery('#pager'),
    rowNum: 10,
    rowList: [10, 20, 30, 40, 50],
    sortname: 'ROWID',
    sortorder: "asc",
    viewrecords: true,
    imgpath: 'http://localhost/DNN5/js/jQuery/jqGrid-3.4.3/themes/sand/images',
    caption: 'X12 Trading Partners',
    viewrecords: true,
    gridComplete: function() {
        alert("i'm grid complete" + JSON.stringify(msg));
        //updates the new column order position
        $('table.scroll').tableDnDUpdate();
    }}).navGrid('table.scroll', { edit: true, add: true, del: true }).tableDnD();

Hier ist der Zurückgegebene JSON-String: (ich habe kein problem zu sehen, diese Daten wieder zu Clients).

Erfolg:

{total:1,page:1,records:5,[{"ROWID":1,"ID":1,"PartnerID":"BCN","Direction":"I","InterchangeVersion":"004010X096A1","InterchangeSenderID":"BCC4010","InterchangeReceiverID":"company","ProductionMode":"T","SubmitterName":"BCC","SubmitterID":"BCC4010","SubmitterPOC":"BCC","CommQual":"","CommNumber":"","ReceiverName":"company","ReceiverID":"BCC4010","PartnerTypes":"","PartnerNotes":"","IncomingDataPrepSP":"","OutgoingDataPrepSP":"","ExchangeAck":false,"DateTimeInserted":new Date(1214412777787),"IsDeleted":false},{"ROWID":2,"ID":2,"PartnerID":"BCN","Direction":"I","InterchangeVersion":"004010X098A1","InterchangeSenderID":"BCC4010","InterchangeReceiverID":"company","ProductionMode":"T","SubmitterName":"BCC","SubmitterID":"BCC4010","SubmitterPOC":"BCC","CommQual":"","CommNumber":"","ReceiverName":"company","ReceiverID":"BCC4010","PartnerTypes":"","PartnerNotes":"","IncomingDataPrepSP":"","OutgoingDataPrepSP":"","ExchangeAck":false,"DateTimeInserted":new Date(1212088125000),"IsDeleted":false},{"ROWID":3,"ID":3,"PartnerID":"BCN","Direction":"O","InterchangeVersion":"004010X091A1","InterchangeSenderID":"HCA770385729","InterchangeReceiverID":"BCC47198       ","ProductionMode":"T","SubmitterName":"company Administrators","SubmitterID":"HCA770385729","SubmitterPOC":"briana","CommQual":"EM","CommNumber":"[email protected]","ReceiverName":"BCN","ReceiverID":"BCC47198","PartnerTypes":"","PartnerNotes":"","IncomingDataPrepSP":"","OutgoingDataPrepSP":"","ExchangeAck":false,"DateTimeInserted":new Date(1212088125547),"IsDeleted":false},{"ROWID":4,"ID":4,"PartnerID":"EHG","Direction":"I","InterchangeVersion":"004010X097A1","InterchangeSenderID":"330989922","InterchangeReceiverID":"company","ProductionMode":"T","SubmitterName":"DENTALCONNECT","SubmitterID":"330989922","SubmitterPOC":"","CommQual":"","CommNumber":"","ReceiverName":"","ReceiverID":"","PartnerTypes":"Clearinghouse","PartnerNotes":"Dental clearinghouse.  Sends billing address in the pay-to segment (NM1*87) and the service address in the billing segment (NM1*85).","IncomingDataPrepSP":"[dispatch].spPreprocessEHG","OutgoingDataPrepSP":"","ExchangeAck":true,"DateTimeInserted":new Date(1235603192033),"IsDeleted":false},{"ROWID":5,"ID":5,"PartnerID":"EMDEON","Direction":"I","InterchangeVersion":"004010X097A1","InterchangeSenderID":"341884003","InterchangeReceiverID":"857297703","ProductionMode":"T","SubmitterName":"INTERACTIVE PAYER NETWORK","SubmitterID":"341884003","SubmitterPOC":"","CommQual":"","CommNumber":"","ReceiverName":"","ReceiverID":"","PartnerTypes":"Clearinghouse","PartnerNotes":"Dental clearinghouse.  Sends billing address in the pay-to segment (NM1*87) and the service address in the billing segment (NM1*85).","IncomingDataPrepSP":"","OutgoingDataPrepSP":"","ExchangeAck":true,"DateTimeInserted":new Date(1235603192000),"IsDeleted":false}]}
  • Sie brach StackOverflow!!!
  • Opera-Nutzern wird empfohlen klicken Sie auf den "an Breite anpassen" - button. 🙂
  • viel Glück! jqGrid braucht ein paar anständige docs!!
Schreibe einen Kommentar