2016-05-08 26 views
0

Ich versuche hinzuzufügen laden Sie eine Datei Feld innerhalb meiner Ansichten. Ich habe mein ViewModel bearbeitet und die folgende Zeile hinzugefügt: public HttpPostedFileBase ImageUrl {get; einstellen; } Dann habe ich unten Helfer für Datei-Upload:ASP.NET MVC: Ansicht funktioniert nicht gut für den Dateiupload

 @Html.EditorFor(model => model.ImageUrl) 

ich so auch Helfer meine Form geändert:

@using (Html.BeginForm("Create", "Home", FormMethod.Post, new { enctype = "multipart/form-data" })) 

aber es interne Felder Datei zeigt, wenn ich meine Ansicht laufen:

enter image description here

Was habe ich vermisst, die zu dieser Situation führen?

Antwort

0

Verwenden Sie die Hilfsmethode .

@using (Html.BeginForm("Create", "Home", FormMethod.Post, 
              new { enctype = "multipart/form-data" })) 
{ 
    @Html.TextBoxFor(s=>s.ImageUrl,new { type="file"}) 
    <input type="submit" /> 
} 

Oder auch reine HTML

@using (Html.BeginForm("Create", "Home", FormMethod.Post, 
               new { enctype = "multipart/form-data" })) 
{ 
    <input type="file" name="ImageUrl" /> 
    <input type="submit" /> 
} 
+0

ich tun nicht wissen, warum das in meinem ViewModel null zurückgibt? Mein httppost-Controller sieht wie folgt aus: public ActionResult Create (ViewModelCreate viewModel) und viewModel.ImageUrl ist null. – VSB

0

Stellen Sie sicher, Ihre ImageUrl Eigenschaft auf Ihrem Modell-Objekt sieht wie folgt aus:

[DataType(DataType.Upload)] 
public HttpPostedFileBase ImageUrl { get; set; } 

Und dann Ihrer Meinung nach, verwenden Sie einfach die editorfor HTML Helfer wie normal

@Html.EditorFor(m => m.ImageUrl) 
Verwandte Themen