Le modèle est null lors de la soumission du formulaire
Quand j'appuie sur envoyer, la file
paramètre est null.
public ActionResult Create()
{
return View(new FileViewModel());
}
[HttpPost]
[InitializeBlobHelper]
public ActionResult Create(FileViewModel file)
{
if (ModelState.IsValid)
{
//upload file
}
else
return View(file);
}
public class FileViewModel
{
internal const string UploadingUserNameKey = "UserName";
internal const string FileNameKey = "FileName";
internal const string Folder = "files";
private readonly Guid guid = Guid.NewGuid();
public string FileName
{
get
{
if (File == null)
return null;
var folder = Folder;
return string.Format("{0}/{1}{2}", folder, guid, Path.GetExtension(File.FileName)).ToLowerInvariant();
}
}
[RequiredValue]
public HttpPostedFileBase File { get; set; }
}
Ici est la cshtml:
@model MyProject.Controllers.Admin.FileViewModel
@{
ViewBag.Title = "Create";
Layout = "~/Views/Shared/_BackOfficeLayout.cshtml";
}
@using (Html.BeginForm("Create", "Files", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<fieldset>
<legend>Create</legend>
<div class="editor-label">
@Html.LabelFor(model => model.File)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.File, new { type = "file" })
@Html.ValidationMessageFor(model => model.File)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
OriginalL'auteur Shimmy | 2012-12-20
Vous devez vous connecter pour publier un commentaire.
C'est conflit de noms et de liant, en essayant de lier votre Fichier de propriété FileViewModel objet avec un nom de fichier, c'est pourquoi vous obtenez la valeur null. POST noms sont insensibles à la casse.
Changement:
:
ou à tout autre nom
C'est conflit de noms et de liant, en essayant de lier votre
File
propriétéFileViewModel
objet avecfile
nom, c'est pourquoi vous obteneznull
. POST noms sont insensibles à la casse.Vous êtes homme de bien! Bonne prise!
je suis de tri de la même erreur.mais je n'obtiens pas de votre solution
merci, a coincé dans les heures ne pouvait pas comprendre pourquoi il a cessé de travailler soudainement
OriginalL'auteur webdeveloper
Cela a résolu mon problème. C'était un nom que j'ai utilisé qui est similaire au modèle, ce qui est similaire à la variable I attribué posté le modèle aussi. une fois que j'ai trié le nom de champ tout a fonctionné comme prévu.
Bien sûr, l'erreur n'était pas utile de le signaler.
OriginalL'auteur ransems