2017-01-25 6 views
0

Ich habe Probleme beim Binden meiner Dateieingaben korrekt an mein Modell, auf Formularpost. Ich versuche, an das Modell unten zu binden.Fehler beim Binden von Dateien an Modell

Der Grund für die Verwendung der FileWrapper-Klasse, die praktisch ein Ersatz für ein Wörterbuch ist, ist nur etwas anderes auszuprobieren als ein Wörterbuch, weil ich das auch nicht funktionierte. Wenn es mit einem Wörterbuch möglich ist, werde ich es gerne wieder ändern.

Was ich brauche, ist in der Lage, mehrere MULTIPLE Dateieingaben an verschiedene Dateilisten zu binden. Daher hat der FileWrapper eine IENumerable<HttpPostedFileBase>. Der Grund für das Vorhandensein der FileWrapper in einer Liste liegt darin, dass die Anzahl der Dateieingaben variieren kann. Die Ansicht wird dynamisch generiert.

Wenn ich versuche, so zu binden, sieht der Index wie es richtig bindet, aber die Dateiliste ist leer.

Bitte lassen Sie mich wissen, wenn ich etwas extra zur Verfügung stellen kann.

Die Formulareingaben sieht wie folgt aus:

Html

<input type="hidden" name="FileWrappers[0].Index" value="0" /> 
<input type="file" name="FileWrappers[0].Files" multiple> 

Modell

public class SpecialBeregningModel 
{   
    public List<FileWrapper> FileWrappers { get; set; } 

    public SpecialBeregningModel() 
    { 
     FileWrappers = new List<FileWrapper>(); 
    } 
} 

public class FileWrapper 
{ 
    public int Index { get; set; } 
    public IEnumerable<HttpPostedFile> Files { get; set; } 

    public FileWrapper() 
    { 
     Files = new List<HttpPostedFile>(); 
    } 
} 

Antwort

1

Ihr Eigentum HttpPostedFileBase sein sollte, nicht HttpPostedFile:

public IEnumerable<HttpPostedFileBase> Files { get; set; } 

Vergessen Sie auch nicht enctype="multipart/form-data" Attribut auf dem enthalten <form>.

+0

Nun, das ist nicht peinlich! Ich habe tatsächlich vergessen, die FileBase (Copy Paste Tippfehler) zu verwenden. Vielen Dank –

Verwandte Themen