2010-12-13 10 views
2

Ich habe ein Problem mit einer Mischung zwischen YUIs AJAX und einem YUI Datatable. Die AJAX-Request Feuer richtig und ich wieder die richtigen Daten formatiert als:YUI AJAX und .Net MVC

{NoteId:'" + result.NoteId + "', CreatedOn:'" + result.CreatedOn.ToShortDateString() + 
        "', UpdatedOn:'" + result.UpdatedOn.ToShortDateString() + "', CreatedBy:'" + result.CreatedBy + 
        "', NoteContent:'" + result.NoteContent + "'} 

Diese die Tabellen Identitäten richtig passen, und ich riss diese Formatierung von der Aussage, dass zunächst die Datentabelle erstellt (das funktioniert). Ich weiß nicht, ob ich den 'onSuccess' für meinen AJAX-Anruf durcheinander gebracht habe oder was, und das ist das erste Mal, dass ich YUI berühre.

Wenn ich die notetable.addRow manuell ausführe und die Daten fest codiere, funktioniert es auch.

-Code für die AJAX-Aufruf und Tabelle Update:

function addNote() { 
      var noteText = editor.get('element').value; 
      var id = '<%= Model.Menu.Level1Tab %>' 
      var lpqId = <%= Model.LpqID %> 
      var sUrl = "/Lpm/Notes"; 
      var callback = { 
        success: function(o) { 
          noteTable.addRow(o.responseText); 
         }, 
        failure: function(o) { 
         } 
        } 

      var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, 'id=' + id + '&noteContent=' + noteText + '&noteId=' + noteId + '&lpqId=' + lpqId); 
     } 

Ich bin ziemlich gut auf diese stecken, also wenn jemand einen Blick haben könnten und lassen Sie mich wissen, wo ich etwas durcheinander, ich würde schätzen es. Wenn Sie mehr Informationen benötigen, habe ich viele, einschließlich Debugging-Informationen zum Debuggen. Vielen Dank im Voraus für die Hilfe

Antwort

1

Sieht so aus, als müssten Sie den o.responseText von String in Objekt konvertieren. Das JSON-Dienstprogramm kann Ihnen dabei helfen: http://developer.yahoo.com/yui/json/.

Im Übrigen kann DataTables DataSource-Integration helfen, diese Probleme für Sie zu verwalten. In diesem Beispiel (http://developer.yahoo.com/yui/examples/datatable/dt_xhrjson.html) erfahren Sie, wie Sie eine DataSource einrichten und in eine DataTable integrieren. Beachten Sie, wie Sie eine Anfrage zum Abrufen einiger Daten von Ihrem Server senden können und dann eine der Methoden "onDataReturn ..." (siehe "Daten zur Laufzeit laden" unter http://developer.yahoo.com/yui/datatable/#data) in Ihrem Callback verwenden.