2015-06-02 8 views
6

I (mein wirkliches Beispiel ist sehr ähnlich) Winkel xeditable zu verlängern versuchen - Editierbare Zeile - Beispiel hier beschrieben: http://vitalets.github.io/angular-xeditable/#editable-row oder seinen jsFiddle Link hier: http://jsfiddle.net/NfPcH/93/Wie mit Datei-Upload-Feld Winkel xeditable editierbare Reihe erweitern

so dass ich eine zusätzliche Spalte für das Hochladen von Datei für jede Zeile/Element haben. Es ist in Ordnung, wenn es nur Eingabeelement vom Typ Datei sein kann, aber ich bin für andere Lösungen geöffnet. Normalerweise meine Spalte sieht wie folgt aus:

   <td> 
        <span editable-text="template.description" e-name="description" e-form="rowform" e-required> 
         {{ template.description || 'empty' }} 
        </span> 
       </td> 

Aber jetzt will ich meine benutzerdefinierte Spalte hinzufügen, und ich versuchte Eingangselement mit oder ohne alle metioned Attribute hier:

   <td> 

        <input id="file" 
          accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" 
          ng-show="rowform.$visible" 
          class="btn btn-default" 
          name="file" 
          type="file" 
          e-name="file" 
          e-form="rowform" 
          value="{{ user.file || 'empty' }}" /> 
       </td> 

In jedem Fall ich kann nicht bekommen - Datei - Wert in meinem Winkelregler nach dem Versuch, Zeile zu speichern, wenn dieser Code ausgeführt wird:

$scope.saveUser = function (data, id) { 
     //$scope.user not updated yet 
     angular.extend(data, { id: id }); 
     angular.extend(data, { file: file }); 
     return $http.post('/saveUser', data); 
    }; 

My - Daten - Objekt ist hier mit allen anderen Eigenschaften wie - Beschreibung - aber nicht mit - fil e - Eigentum!

Natürlich habe ich erweiterte Form onbeforesave Ereignis mit:

... Form bearbeitbaren-form name = "rowform" onbeforesave = "saveTemplate ($ data, user.id, user.file)" ...

Irgendwelche Vorschläge?

Danke, Vedran

Antwort

0

Ich bin mit diesem stecken.

Als ich dachte, dass alles in Ordnung ist, weil ich durch die Verwendung Lösung mit Erstellung von benutzerdefinierter Richtlinie erwähnte hier Dateiobjekt in meinem Winkelmodell bekam:

ng-model for <input type="file"/>

... dann neue Ausgabe begann, mich zu stören .

Ich kann dieses Dateiobjekt nicht während des Bindungsprozesses zum HttpPostedFileBase-Parameter des MVC-Controllers zugeordnet werden.

Ich habe alles versucht, wie die Eigenschaft ausschließen und separate Parameter zu meinem MVC-Controller hinzufügen, oder benutzerdefinierte MVC-Modell-Binder erstellen, aber Beispiele sah ich ModelBinderResult-Klasse, die ich nicht unter MVC 5-Klassen in einem Namespace finden konnte.

Dieses Dateiobjekt ist hier sicher, aber ich konnte es nicht funktionieren lassen. Ich weiß, dass das Objekt nicht leer oder null ist, denn wenn ich den Eingangsparameter des Controllers => Objekt angabe, dann ist es nicht null.

Bitte, jede Hilfe wird mehr als willkommen sein!

Vedran

+0

Wer hat eine Lösung gefunden? –